GC:垃圾回收机制,不用手动回收释放#yyds干货盘点#

网友投稿 229 2022-11-21

GC:垃圾回收机制,不用手动回收释放#yyds干货盘点#

GC:垃圾回收机制,不用手动回收释放

什么是垃圾?对象被判定为垃圾的标准没有被其他对象引用 怎么判断垃圾?判定对象是否为垃圾的算法 引用计数算法通过判断对象的引用数量来决定对象是否可以被回收每个对象实例都有一个引用计数器,被引用则+1,完成引用则-1任何引用计数为0的对象实例可以被当作垃圾收集

优点:执行效率高,程序执行受影响较小缺点︰无法检测出循环引用的情况,导致内存泄露

package com.interview.javabasic.jvm.gc; public class MyObject { public MyObject childNode; } ////////////////////////////////////////// package com.interview.javabasic.jvm.gc; public class ReferenceCounterProblem { public static void main(String[] args) { MyObject object1 = new MyObject(); MyObject object2 = new MyObject(); object1.childNode = object2; object2.childNode = object1; } }

可达性分析算法

通过判断对象的引用链是否可达来决定对象是否可以被回收

可以作为GC Root的对象

虚拟机栈中引用的对象(栈帧中的本地变量表)方法区中的常量引用的对象方法区中的类静态属性引用的对象本地方法栈中JNI ( Native方法)的引用对象》活跃线程的引用对象

标记-清除算法(Mark and Sweep)

标记∶从根集合进行扫描,对存活的对象进行标记清除∶对堆内存从头到尾进行线性遍历,回收不可达的对象内存

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:GDDR6存储器接口的设计方法介绍
下一篇:音乐设备上常见的音频插头接口及定义
相关文章

 发表评论

暂时没有评论,来抢沙发吧~