//= require_tree .
给定类实用程序,这是我的方法调用。
class Utility{
public String a = "aaaa huge string";
public void doSomething() {
String b = "bbbb huge string";
.....
}
}
当在步骤3之后对象u被垃圾收集时,字符串b是否也会从字符串池中删除?
何时从内存中加载和删除字符串a和b(如果有的话)?
答案 0 :(得分:0)
方法中定义的变量不是实例的成员,因此它们引用的对象的GC完全独立于实例的GC。
当对象u在步骤3之后被垃圾收集时
如果在步骤3之后对象u
被垃圾收集
还会从String池中删除String b吗?
u
与b
无关:见上文。
何时从内存中加载和删除字符串a和b(如果有的话)?
加载类,因为它们是字符串文字。去除取决于GC和实习。