知识回顾: 第一篇《Jvm垃圾回收器(基础篇)》主要讲述了判断对象的生死?两种基础判断对象生死的算法、引用计数法、可达性分析算法,方法区的回收。在第二篇《Jvm垃圾回收器(算法篇)》中主要介绍了垃圾回收的几种常用算法:标记-清除、复制算法、标记-整理算法、分代收集算法。那么接下来我们重点研究Jvm的 ...
分类:
其他好文 时间:
2019-03-11 16:23:01
阅读次数:
181
JVM常用的回收算法是: 标记/清除算法 标记/复制算法 标记/整理算法 其中上诉三种算法都先具备,标记阶段,通过标记阶段,得到当前存活的对象,然后再将非标记的对象进行清除,而对象内存中对象的标记过程,则是使用的 “根搜索算法”,通过遍历整个堆中的GC ROOTS,将所有可到达的对象标记为存活的对象 ...
分类:
其他好文 时间:
2019-03-09 10:21:21
阅读次数:
214
垃圾收集器 如果说收集算法是内存回收的方法论,垃圾收集器就是内存回收的具体实现 Serial收集器 串行收集器是最古老,最稳定以及效率高的收集器,可能会产生较长的停顿,只使用一个线程去回收。新生代、老年代使用串行回收;新生代复制算法、老年代标记 压缩;垃圾收集的过程中会Stop The World( ...
分类:
其他好文 时间:
2019-02-10 12:08:35
阅读次数:
216
新生代 --复制算法 老年代 --标记压缩清除算法 分代 分区思想 垃圾回收的任务是识别和回收垃圾对象进行内存清理,为了让垃圾回收器可以高效的执行,大部分情况下,会要求系统进入一个停顿的状态。 停顿的目的是终止所有应用线程,只有这样系统才不会有新的垃圾产生,同时停顿保证了系统状态正在某一个瞬间的一致 ...
分类:
编程语言 时间:
2019-01-18 23:15:30
阅读次数:
239
今天我给大家讲讲JVM垃圾收集器-ParallelScavenge收集器ParallelScavenge收集器ParallelScavenge收集器也是一个新生代收集器,它也是使用复制算法的收集器,又是并行的多线程收集器,看上去和ParNew都一样,那它有什么特别之处呢?ParallelScavenge收集器的特点是它的关注点与其他收集器不同,CMS等收集器的关注点尽可能地缩短垃圾收集时用户线程的
分类:
其他好文 时间:
2019-01-14 11:53:56
阅读次数:
211
前一篇讲了垃圾收集算法--JVM之GC算法、垃圾收集算法——标记-清除算法、复制算法、标记-整理算法、分代收集算法,如果把它看作是方法论,那么下面说的就应该是内存回收的具体实现。 先看一下JVM中有哪些垃圾收集器,如下图所示: 上图一共展示了七种作用于不同分代的垃圾收集器,如果两个收集器之间存在连线 ...
分类:
其他好文 时间:
2018-12-18 19:52:06
阅读次数:
214
![](http://i2.51cto.com/images/blog/201811/30/26013b9bd064e69fc6cfffb7f916d048.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3po
分类:
编程语言 时间:
2018-12-01 15:32:17
阅读次数:
151
[toc] 近似深度优先搜索方法 Paul R.Wilson、Michael S.Lam、Thomas G.Moher,1991 这个方法只是近似深度优先搜索,但可以做到深度优先执行GC复制算法。 Cheney的GC复制算法 假设所有对象都是2个字,下图所示是对象间的引用关系。 下图所示是执行该算法 ...
分类:
其他好文 时间:
2018-11-26 10:22:21
阅读次数:
236
[toc] 什么是GC 标记 压缩算法 需要对标记清除和GC复制算法有一定了解 GC标记 压缩算法是由 标记阶段 和 压缩阶段 构成。 标记阶段和标记清除的标记阶段完全一样。之后我们要通过搜索数次堆来进行压缩。 Lisp2 算法的对象 Donald E.Knuth 对象结构如图示: Lisp2 算法 ...
分类:
其他好文 时间:
2018-11-26 10:22:10
阅读次数:
253
1.数组的复制 2.查找算法(搜索) 3.插入算法 4.冒泡排序(选出老大后,后面的还要来和老大比) 5.选择排序(选出老大后,老大就可以休息了,不比了,后面以此类推) 比冒泡排序效率更高 ...
分类:
编程语言 时间:
2018-11-15 12:08:44
阅读次数:
178