1.引用计数器算法
实现简单,效率高;但是无法解决对象之间的循环引用问题。
2.可达性分析算法
1>GC root 对象:
虚拟机栈中的引用对象;
方法区中类静态属性引用对象;
方法区中类常量引用对象;
本地方法栈中JNI引用对象。
2>引用分类:
强引用(Stronge Reference):new的对象
软引用 (Soft Reference):SoftReference类
弱引用 (Weak Reference):WeakReference类
虚引用 (Phantom Reference):PhantomReference类
3.标记-清理算法
一、效率低,标记和清理都需要耗费大量时间;
二、空间问题,此算法收集后的空间无法连接在一起,造成空间碎片过多,对以后大的对象进行分配空间找不到足够的联系空间
4.收集-复制算法
新生代使用算法,对有大部分对象可以回收时,效率高;
5.标记-整理算法
老年代回收使用算法。
6.分代收集算法
新生代使用复制算法,老年代使用标记-清理或者标记整理算法
JVM 垃圾回收算法
最新推荐文章于 2021-09-27 19:25:53 发布