【发布时间】:2012-10-04 12:21:05
【问题描述】:
我正在使用 java 中的大型程序工作,现在我试图避免徘徊以提高它的内存使用率,我在构造函数中实例化了一些对象,并一直实例化到程序结束但它们并不总是被使用.我的问题特别是关于垃圾收集对象数组。
例如,当用户按下一个菜单项时,会调用一个包含许多组件的 JDialog,这些组件在程序运行时被实例化,但我想在必要时实例化它们并在不需要时释放它们。
例如:
JRadioButton Options = new JRadioButton[20];
for (int i = 0; i < 20; i++) {
Options[i] = new JRadioButton(Labels[i]);
}
如果我想释放数组,我应该怎么做?
这个:
for (int i = 0; i < 20; i++) {
Options[i] = null;
Labels[i] = null;
}
或者简单地说:
Options = null;
Labels = null;
提前致谢
【问题讨论】:
-
即使在这一切之后,请记住,如果这些数组仍然被引用,它们将不会被垃圾回收。
标签: java arrays object memory garbage-collection