java垃圾回收基本算法

最基本的java回收算法宝包括:复制算法标记清理算法

基本概念

(1)复制算法:两个区域A和B,初始对象在A,继续存活的对象被转移到B;

(2)标记清理算法:一块区域,标记可达对象(可达性分析),然后回收不可达对象,会出现碎片,那么引出 标记-整理算法:多了碎片整理,整理出更大的内存放更大的对象;

(3)新生代:初始对象,生命周期短的;

(4)老生代:长时间存在的对象;

不同收集器使用的垃圾回收算法

(1)Serial New收集器是针对新生代的收集器,采用的是复制算法

(2)Parallel New(并行)收集器,新生代采用复制算法,老年代采用标记整理

(3)Parallel Scavenge(并行)收集器,针对新生代,采用复制收集算法

(4)Serial Old(串行)收集器,新生代采用复制,老年代采用标记整理

(5)Parallel Old(并行)收集器,针对老年代,标记整理

(6)CMS收集器,基于标记清理

(7)G1收集器:整体上是基于标记 整理 ,局部采用复制

综上:新生代基本采用复制算法,老年代采用标记整理算法。cms采用标记清理。

转自:

https://www.nowcoder.com/test/question/done?tid=20023356&qid=36411#summary

表示感谢!!!

猜你喜欢

转载自blog.csdn.net/guanmao4322/article/details/84111196