在“添加”到列表中后从内存中删除实例

时间:2017-07-05 11:44:08

标签: java list memory

代码非常简单:

  myKpi = "a";
  Data.add(myKpi);

然后我想从内存中删除myKpi,因为它已保存在列表数据中。

我读过我可以做myKpi=null,但我不知道它是否会影响Data的价值。

2 个答案:

答案 0 :(得分:1)

首先,myKpi只是对实例的引用。这意味着你不能从内存中“删除”myKpi(至少不是它引用的实例)。

其次,由于myKpi引用的实例已添加到Data,因此无法删除该实例,因为两个引用都引用相同的实例。

第三,您无法从堆中手动删除实例。您所能做的就是删除所有引用,然后“询问”JVM进行垃圾收集(通过System.gc())它可能会做什么,但不能保证它将被完成(以及实际将被删除的内容)。 / p>

答案 1 :(得分:-1)

怎么样

Data.remove(myKpi);

您使用什么类型的列表?