请看这个:
class MyUtility{
public static MyStock stock;
}
class MyStock{
public ArrayList<SomeThing> myListOfThings;
}
class SomeThing{
public ArrayList<WhatEver> myWhatever;
public double [] myArray;
}
这样我就可以随处访问 MyUtility.stock(线程安全不是问题)
我知道 GC 不会清理“myListOfThings”,但我不在乎:这个列表是全局且静态的,这是有充分理由的。
但是 GC 会清理“myWhatever”吗?如果不是,如何强制/让它有资格?
我的意思是:如果在一个“SomeThing”的生命周期中,“myWhatever”数组列表大小变为 123 然后为 0,或者 myArray 从 new double[123] 变为 null;
最佳答案
System.gc() 让 JVM 知道您想要进行垃圾收集,但它并不保证它会发生。
当没有更多引用指向您的对象时,可以对它进行垃圾回收。
关于Java - 静态数组列表中对象的垃圾数组列表字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51817546/