我是GC的新手,我想知道垃圾回收器除了不再被任何变量引用的引用以外,还收集什么?以下是我要检查的列表


基本类型(int,double,float,char ....)是否获得GC版本?
静态变量会被GC编辑吗?
最终变量是否经过GC检验(我认为,因为它被标记为不可变的,所以没有什么可收集的)?
是否所有方法(静态方法和非静态方法)都经过GC处理?
线程是否经过GC编辑?

最佳答案

GC不会收集任何引用,它只是释放不再可访问的对象(堆上的内存)。

静态是特殊的内存位置,并且与类/类加载器关联。如果未部署class / classloader,则将从内存中删除静态内容。

如果原始类型与对象(类变量)相关联,那么当对象不可访问时,它们将被GC化。

如果是局部变量/参数变量,则它们将在堆栈上,因此一旦方法执行完成,便将其回收。

10-07 20:12