搜索网站的浏览器,开发安卓软件需要学什么,网站更改域名,网络编程技术清华大学出版社答案众所周知#xff0c;我们目前最常用的虚拟机hotspot使用可达性分析来进行垃圾回收#xff0c;而可达性分析需要依赖GC Root。下面我就来介绍下可以作为GC Root的对象。 #xff08;一#xff09;虚拟机栈中引用的对象 虚拟机栈中的引用的对象可以作为GC Root。我们程序在虚… 众所周知我们目前最常用的虚拟机hotspot使用可达性分析来进行垃圾回收而可达性分析需要依赖GC Root。下面我就来介绍下可以作为GC Root的对象。 一虚拟机栈中引用的对象 虚拟机栈中的引用的对象可以作为GC Root。我们程序在虚拟机的栈中执行每次函数调用调用都是一次入栈。在栈中包括局部变量表和操作数栈局部变量表中的变量可能为引用类型(reference)他们引用的对象即可作为GC Root。不过随着函数调用结束出栈这些引用便会消失。
二方法区中类静态属性引用的对象 简单的说就是我们在类中使用的static声明的引用类型字段例如
Class Dog {private static Object tail;
} 三方法区中常量引用的对象 简单的说就是我们在类中使用final声明的引用类型字段例如
Class Dog {private final Object tail;
} 四本地方法栈中引用的对象 就是程序中native本地方法引用的对象。