感谢对于treesoft的回复,但我对你的看法有点疑问:具体到我上面的程序,每一个chair的i是多少应该是有关系的吧,要不然怎么去判断i==47呢,所以我觉得每个i和每个chair是捆绑的,就和zjpangxie说的那样! 谢谢treesoft和zjpangxie! 还有个问题,我如果把 while(!Chair.f) { new Chair(); new String("To take up space"); } 这段改成以下: while(!Chair.f){ new Chair(); String s = new String("To take up space"); System.out.println(s); } 那么就不会输出 created 47 Beginning to finalize after xxxx Chairs have been created这两句了,这是为什么呢?
这段改成以下: while(!Chair.f){ new Chair(); String s = new String("To take up space"); System.out.println(s); } 那么就不会输出 created 47 Beginning to finalize after xxxx Chairs have been created这两句了,这是为什么呢?--------------------------------------------------------------------------------因为你输出的String太多了,命令行显示不下了,其实在程序运行的早些时候就显示这两句了。你没看到罢了。可以试着在 java Garbage回车以后,马上按Ctrl+C,再回过头去找,就找到那两句了。
不懂你的意思,改成你说的: while(!Chair.f){ new Chair(); String s = new String("To take up space"); System.out.println(s); } created 47 Beginning to finalize after xxxx Chairs have been created 也会输出了.i和chair的关系就是一个chair对应一个i.当chair创建的时候,i就创建了,chair被回收了后,i就没有了.
TIJ 3rd 中,作者好像把这个例子去掉了,而是取而代之用大量文字太解释finalize和garbage collection,是不是因为这个例子太费解?
我也认为有几个chair就会有几个i,但每一个chair都映射到一个确定的i中吗,这点我想不通,能不能解释一下啊,或者提示在哪边有这个解释啊
谢谢
我这次的想法应该没错吧!
谢谢treesoft和zjpangxie!
还有个问题,我如果把
while(!Chair.f) {
new Chair();
new String("To take up space");
}
这段改成以下:
while(!Chair.f){
new Chair();
String s = new String("To take up space");
System.out.println(s);
}
那么就不会输出
created 47
Beginning to finalize after xxxx Chairs have been created这两句了,这是为什么呢?
while(!Chair.f){
new Chair();
String s = new String("To take up space");
System.out.println(s);
}
那么就不会输出
created 47
Beginning to finalize after xxxx Chairs have been created这两句了,这是为什么呢?--------------------------------------------------------------------------------因为你输出的String太多了,命令行显示不下了,其实在程序运行的早些时候就显示这两句了。你没看到罢了。可以试着在 java Garbage回车以后,马上按Ctrl+C,再回过头去找,就找到那两句了。
while(!Chair.f){
new Chair();
String s = new String("To take up space");
System.out.println(s);
}
created 47
Beginning to finalize after xxxx Chairs have been created
也会输出了.i和chair的关系就是一个chair对应一个i.当chair创建的时候,i就创建了,chair被回收了后,i就没有了.