A類的實例是垃圾回收還是永久保留在內存中? 我知道如果一個對象符合垃圾回收的條件,並且它的finalize()方法已經被調用,並且在這個方法中對象可以被一個活動的執行線程訪問,它不會被垃圾回收。 public class A{
String someString = null;
private A a=null;
public String getSomeStrin
我試圖在我寫了一個類的主要方法如下代碼: public static void main(String[] args){
...
Object s = new Object();
s.finalize();
...
}
然而,日食給我一個提示, The method finalize() from the type Object is not visi
在一次採訪中,我被問到,假設JVM在A類對象未被使用時運行gc。 class A{
//some code here
protected void finalize(){
//code here
}
}
它確保執行finalize()。我說是的 接下來的問題是如果正在使用類A的obj,如果現在JVM運行GC,它會執行finalize()。我說不,它不會執行這個finalize(),因
在我們的服務器上,我們開始遇到OutOfMemoryError問題。我們分析了堆轉儲使用Eclipse內存分析和發現,許多對象舉行做最後定稿(約堆的2/3): 我們發現,這可能是一些的finalize( )方法阻塞。我發現了這個問題的幾個錯誤報告(here或here),並且它始終表現在Finalizer線程堆棧中,它在某處被阻塞。但是,在我們的例子中,這個線程在等待: "Finalizer" da
public class ThTest1 {
public static void main(String args[]) {
System.out.println("Main started ");
System.out.println("length: "+args.length);
for (int i=0;i<args.length