本文中的垃圾收集器研究背景为:HotSpot+JDK1.7 一、垃圾收集器概述 如上图所示,垃圾回收算法一共有7个,3个属于年轻代、三个属于年老代,G1属于横跨年轻代和年老代的算法。 JVM会从年轻代和年老代各选出一个算法进行组合,连线表示哪些算法可以组合使用 二、各个垃圾收集器说明 1、Seria ...
分类:
其他好文 时间:
2018-07-09 16:34:25
阅读次数:
219
Java GC类型 Java中的GC有哪几种类型? 参数 描述 UseSerialGC 虚拟机运行在Client模式的默认值,打开此开关参数后, 使用Serial+Serial Old收集器组合进行垃圾收集。 UseParNewGC 打开此开关参数后,使用ParNew+Serial Old收集器组合 ...
分类:
编程语言 时间:
2018-07-09 14:12:48
阅读次数:
236
JVM垃圾收集器、垃圾收集算法、无用对象(如何判断对象可以回收) ...
分类:
编程语言 时间:
2018-07-07 20:10:11
阅读次数:
178
概述 说起垃圾收集(Garbage Collection,GC),大部分人都把这项技术当做Java语言的伴生产物。事实上,GC的历史远远比Java久远,1960年诞生于MIT的Lisp是第一门真正使用内存动态分配和垃圾收集技术的语言。当Lisp还在胚胎时期时,人们就在思考: GC需要完成的三件事情: ...
分类:
编程语言 时间:
2018-07-05 23:16:37
阅读次数:
174
转自https://blog.csdn.net/wl_ldy/article/details/5935528 转自https://blog.csdn.net/wl_ldy/article/details/5935528 1.Java中对象都是分配在heap(堆)中。从heap中分配内存所消耗的时间远 ...
分类:
编程语言 时间:
2018-07-03 16:44:16
阅读次数:
169
首先,谈谈我对java平台的理解,java本身是一种面向对象的语言,显著的特征有两个方面,一是所谓的“一次书写,到处运行”,能够非常容易的获得跨平台的能力,另外就是垃圾回收(GC),java 通过垃圾收集器回收分配内存,大部分情况下,程序员不需要自己操心内存的分配与回收。 对于“java 是解释执行 ...
分类:
编程语言 时间:
2018-07-03 11:57:58
阅读次数:
230
判断对象是否存活的方法: 1、引用计数算法:给一个对象中添加一个引用计数器,每当有一个地方引用它时,计数器就加1,引用失效时,计数器减1,当引用数量为0时,任务对象已经死了 缺点:当对象之间存在相互循环引用时,引用计数算法无法通知GC收集器回收 2、可达性分析算法:判断一个对象到GC ROOTS是否 ...
分类:
其他好文 时间:
2018-07-02 21:33:43
阅读次数:
211
JVM方面 JVM内存结构 堆、栈、方法区、直接内存、堆和栈区别 Java内存模型 内存可见性、重排序、顺序一致性、volatile、锁、final 垃圾回收 内存分配策略、垃圾收集器(G1)、GC算法、GC参数、对象存活的判定 JVM参数及调优 Java对象模型 oop-klass、对象头 Hot ...
分类:
编程语言 时间:
2018-07-02 15:35:38
阅读次数:
206
工具 使用theharvester进行嗅探 该程序的目的是收集电子邮件、子域、主机、员工姓名、开放端口和来自不同公共来源的横幅,如搜索引擎、PGP密钥服务器和SHODAN计算机数据库。 参数应用 d 后跟服务器域名 l 限制显示数目 b 调用搜索引擎 辅助模块 这是一个基于域名搜索的电子邮件收集器, ...
分类:
其他好文 时间:
2018-06-26 23:04:57
阅读次数:
239
1.根搜索算法 1.可达性分析算法 该算法是用来判断一些对象是否存活的,这个算法的起点就是图中的GC Root,,从根开始往下搜索,搜索走过的路径称之为“引用链”,如果一个对象到根节点没有任何一条引用链的话,就说明这个对象是要被回收的。 如图,Object5、Object6、Object7虽然他们互 ...
分类:
其他好文 时间:
2018-06-26 01:10:00
阅读次数:
191