【发布时间】:2018-07-19 22:54:14
【问题描述】:
计算方法完成后有多少对象可以进行垃圾回收?
我已经搜索过这个问题,答案都是 1。
public void compute(Object p)
{
Object a = new Object();
int x = 100;
String str = "abc";
}
但据我所知,字符串常量池现在是 Java 7 中堆的一部分,可以进行垃圾回收。
据我所知,有 2 个对象符合垃圾回收条件,即 a 和 str。
【问题讨论】:
-
您的部分困惑是您对 variables 和 objects 的误解:
a和str只是变量,可能只引用一些对象(或者可能不是)。另一方面,被引用的对象可能符合 GC 条件。 -
@kayamen,所以基本上你的意思是 str 也会被垃圾收集?根据您分享的链接的建议