是《Thinking in Java》中文第二版第四章吧?我也在看!这个例程中的那个while循环是想让你的内存耗尽,然后Java的垃圾收集器就会自动运作并调用finalize()。new Chair()和new String("To take up space")都没有reference指向,所以全是垃圾!

解决方案 »

  1.   

    snoopydotnet:
    你真的很厉害哦!
    我给你加金吧
    你有联系方式吗?
    我想和你一同学习!
      

  2.   

    其中while(!Chair.f) {
          new Chair();
          new String("To take up space");
        }
    应是死循环呀! 怎么会是死循环呢?这里不是说明了当while 了47次后,Chair.f = true,
       if(i == 47) {
          System.out.println(
            "Finalizing Chair #47, " +
            "Setting flag to stop Chair creation");
          f = true;
        }
    那么while(!Chair.f) {
          new Chair();
          new String("To take up space");
        }
    不就退出循环了吗???????