什么是gc root,JVM在进行垃圾回收时,需要找到垃圾对象,也就是没有被引用的对象,但是直接找垃圾对象是比较耗时的,所以可以反过来先找非垃圾对象,也就是正常对象,那么就需要从根开始去找,根据这些根的引用路径找到正常对象,而这些根有一个特征就是他只会引用其他对象,而不会被其他对象引用。例如栈中的本地变量,方法区中的静态变量,本地方法栈中的变量,正在运行中的线程等可以作为gc root。
JVM中哪些可以作为gc root
最新推荐文章于 2024-07-04 11:46:49 发布
什么是gc root,JVM在进行垃圾回收时,需要找到垃圾对象,也就是没有被引用的对象,但是直接找垃圾对象是比较耗时的,所以可以反过来先找非垃圾对象,也就是正常对象,那么就需要从根开始去找,根据这些根的引用路径找到正常对象,而这些根有一个特征就是他只会引用其他对象,而不会被其他对象引用。例如栈中的本地变量,方法区中的静态变量,本地方法栈中的变量,正在运行中的线程等可以作为gc root。