相关疑难解决方法(0)

它是否有助于GC在Java中使null变为null

myLocalVar = null;在离开方法之前,我被"强制"在finally子句中添加语句.原因是帮助GC.有人告诉我,下次服务器崩溃时我会收到短信,所以我最好这样做:-).

我认为这是毫无意义的,因为myLocalVar的范围是方法,并且一旦方法退出就会"丢失".额外的归零只会污染代码,否则无害.

我的问题是,这个关于帮助GC的神话来自哪里?(我被称为"Java记忆书")你知道"权威"的任何文章更深入地解释它吗?有可能这不是一个神话,但真的有所帮助吗?如果是这样,怎么样?可能会使局部变量归零会造成任何伤害?

为了澄清,方法看起来像这样:

void method() {
  MyClass myLocalVar = null;
  try {
    myLocalVar = get reference to object;
    ... do more here ...
  } finally {
    if (myLocalVar != null) {
      myLocalVar.close(); // it is resource which we should close
    }

    myLocalVar = null; // THIS IS THE LINE I AM TALKING ABOUT
  }
}
Run Code Online (Sandbox Code Playgroud)

java variables null garbage-collection local

40
推荐指数
6
解决办法
9773
查看次数

方法内有多个打开和关闭的花括号. - Java

 public class MyTestClass {

    public static void main(String[] args) {
        new MyTestClass().myMethod();
    }

    public void myMethod(){
        {
        //do something 
        }
        {
            //do something 
        }
        {
            //do something 
        }
    }//method close

}//class close
Run Code Online (Sandbox Code Playgroud)

这样做有什么好处?我见过这种代码.

java

22
推荐指数
2
解决办法
6156
查看次数

标签 统计

java ×2

garbage-collection ×1

local ×1

null ×1

variables ×1