例如
public void doSomething() {
Dog smallDog = new Dog();
smallDog.bark();
}
执行此方法后是否会收集狗对象?
最佳答案
当方法返回时,它可以变得有资格被收集。垃圾收集实际发生的时间是 future 某个未知的时间。
如果没有看到 bark() 的实现,就无法确定。
如果这是你的吠叫:
public void bark() {
BarkListeners.callBack(this);
}
public class BarkListeners {
private static final List<Dog> barkers = new ArrayList<Dog>();
public static void callBack(Dog dog) {
barkers.add(dog);
}
}
那么不,它不会被垃圾收集!
关于java - 方法运行完成后是否收集局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11548560/