JVM知识--GC算法和GC器

1.复制算法:

新生代采用的复制算法。From区到To区,以及To区到From区,就是采用的复制算法,来回移动。这样的好处是移动后,没有内存碎片。内存格式比较整齐。缺点就是需要分配一半儿的内存,来复制移动。所以新生代中有了Eden区,来提高内存的利用率。缩小复制算法的区域。

细节:new出来的对象,先放入Eden区。Eden区快满时,触发GC,将存活的对象移动到from区。清空Eden区。当Eden区再次满时,再次发生GC,将存活的对象放入To区,清空Eden区。同时,from区存活的对象,也移动到To区,年龄加一。以此类推。

2.标记-清除算法:

老年代采用的方式之一,先标记可以GC的对象,然后再清除对象。缺点:会造成内存空间不连续。两遍扫描。

 

3.标记-整理算法:

老年代采用的方式之一,标记GC对象后,对内存对象进行移动,使内存整齐。但是效率是最低的。

 

 

垃圾回收器

1.CMS:并发回收器,采用标记清除算法。

2.G1回收器:

posted @ 2020-10-19 22:18  架构改变世界  阅读(120)  评论(0编辑  收藏  举报