对象被判定为垃圾的标准:没有被其他对象引用。
1. 引用计数算法:通过判断对象的引用数量来决定对象是否可以被回收;每个对象实例都有一个引用计数器,被引用则+1,完成引用则-1。优点︰执行效率高,程序执行受影响较小;缺点∶无法检测出循环引用的情况,导致内存泄露。
2. 可达性分析算法:通过判断对象的引用链是否可达来决定对象是否可以被回收。可以作为GC Root的对象①虚拟机栈中引用的对象(栈帧中的本地变量表)②方法区中的常量引用的对象③方法区中的类静态属性引用的对象④本地方法栈中JNI ( Native方法)的引用对象⑤活跃线程的引用对象。
帖子还没人回复快来抢沙发