java源码:Reference和ReferenceQueue
我们都知道在堆里面存放着Java中几乎所有的对象实例,垃圾收集器在对堆进行回收前,第一件事情就是要确定这些对象之中哪些还“存活”着,哪些已经“死去”。那么gc怎么判断一个对象是不是垃圾呢
判断对象是否存活有两种计数算法:引用计数法、可达性分析法
引用计数法:在对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加一;当引用失效时,计数器值就减一 就是如果一个对象没有被任何引用指向,则可视之为垃圾。
可达性分析法:通过一系列的称为GC Roots的对象作为起始点,从这些节点开始向下搜索,搜索所走
原创
2020-08-22 15:53:17 ·
505 阅读 ·
0 评论