可以用作GC根的对象是什么?
另一方面,从虚拟机存储器分区的角度来看,以下对象可以是GC Root。 局部变量引用的对象可以是根对象。 例如ArratList list=new ArrayList (; 方法参数引用的对象也可以用作根对象。 如果不再引用局部变量,则会进行GC垃圾回收。
例如,list=null; new ArrayList ()将作为垃圾回收。总结:
1.java虚拟机堆栈中引用的对象。
方法区域中类的静态属性引用的对象。 (通常是指静态限定的对象,加载类时加载到内存中。 )
方法区域中的常量引用的对象。
本地方法堆栈中的JNI (朴素方法)引用的对象
二、从程序执行的角度来说,在程序执行过程中一直生存而不死亡的一些对象可以用作GC Root,如静态变量或常量引用的对象。