JVM学习笔记
jvm垃圾回收的时候如何确定是垃圾?是否知道什么是GCROOT,以及什么对象可以作为GCRoot。
如何确定是垃圾:简单说内存中不被使用的空间就是垃圾
1、引用指针法:
是通过引用计数器来进行判断的,如果有地方引用它计数器加一,如果引用失效就减一。这样会产生一个问题就是循环引用的问题,如果对象之间循环引用就不会被回收。
2、GCRoot可达性分析:
通过一系列GCRoot对象作为起点,开始向下搜索如果一个对象到GCRoot没有任何引用链相连的话就称为这个对象不可达,就是垃圾对象。
什么对象可以作为GCRoo
原创
2020-09-26 17:32:05 ·
239 阅读 ·
0 评论