java – 什么时候确切的是可用于垃圾收集的对象?

前端之家收集整理的这篇文章主要介绍了java – 什么时候确切的是可用于垃圾收集的对象?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在与我的应用程序争夺内存问题,并试图让我的头靠近垃圾收集.如果我有以下代码
public void someMethod() {
   MyObject myObject = new MyObject();
   myObject.doSomething();  //last use of myObject in this scope
   doAnotherThing();
   andEvenMoreThings();
}

所以我的问题是,myObject可以在myObject.doSomething()这个最后一次使用这个对象后还是在完成某个范围之后的someMethod()的情况下可用于垃圾回收?即垃圾回收是否足够聪明才能看到,虽然局部变量仍然在范围内,但是其余的代码不会被使用?

解决方法

“超出范围”
public void someMethod() {
   MyObject myObject = new MyObject();
   myObject.doSomething();  //last use of myObject in this scope
   myObject = null; //Now available for gc
   doAnotherThing();
   andEvenMoreThings();
}

猜你在找的Java相关文章