如果可變指向存儲器中的空引用,那麼Java垃圾收集將解除分配的存儲器,當它運行(其幾乎從未公知的。)將對象指向空引用並更新內存,或僅分配一次內存效率更高?
因此,是它更有效地指向一個目的是在方法中使用它時是否爲空引用,還是將一個分配作爲類變量更好?
例如,是它更好地做到這一點:
private TestFile TestFile = new TestFile();
public class Configuration{
//Methods accesing 'TestFile'
}
}
或
public class Configuration{
public void getFileName(){
TestFile TestFile = new TestFile();
TestFile.getName();
TestFile = null;
}
public void setFileName(String name){
TestFile TestFile = new TestFile();
TestFile.setName(name);
TestFile = null;
}
}
}
我不知道,對於第二個例子,你必須重申構造函數中的每個方法,但我的推理是,如果構造函數變量指向null並且被移除,則幾乎總是拋出NullPointerException的變化很大(再次,GC非常複雜,並且幾乎不可能預測)。
最後,從我的理解來看,我絕不會想要運行GC方法,因爲它可能會混淆GC已經設置的時間表,以及運行該方法需要更多的性能,而不是過早收集的資源。
感謝您的幫助!