常用算法有三种
1.标签标记算法:
可以理解为对堆中需要存活的对象打上一个标签,到回收时回收未打标签的,这个算法在存活对象较多的情况下效率很高,反之责容易造成内存碎片化的问题。适合老生代使用
2.复制算法:
将内存一分为2(a和b),先使用a,当a满了以后,将存活的对象复制到b中,继续使用a。这个算法在存活对象较少的情况下效率很高,但是需要拿出一块内存做交换空间进行移动。适合新生代使用,从E区复制到S0或S1
3.标签整理算法:
解决了标签标记方法的内存碎片化问题,在将不存活的对象清除后,对存活的对象进行移动。
但是因为在标签标记的算法基础上又对对象进行了移动,所以提高了成本。
本文介绍了内存管理的三种核心算法:标签标记、复制算法以及解决碎片化的标签整理算法,分别针对老生代和新生代的内存需求,并讨论了各自的优缺点及适用场景。
498

被折叠的 条评论
为什么被折叠?



