Java - 静态数组列表中对象的垃圾数组列表字段

标签 java arraylist static garbage-collection

请看这个:

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/

相关文章:

Java - 创建 3 维数据结构

java - 在 Android 的 SQLite 数据库中保存 ArrayList

python - STATIC_URL 在 django 中不起作用

c++ - VC++ 错误 : array instantiation with size from templated static const

java - 如何根据用户输入更新 bean

java - 判断矩形是否重叠

java - 通过 FCM onMessageReceived 方法从 RemoteMessage 获取值

java - hsqldb 脚本文件出现唯一约束违规异常(未读取空格字符)

Java - 使用另一个类的变量作为方法参数

node.js - 在 Sails.js 中使用 express 中间件来提供静态文件