你在问garbage collection?
一种popular的gc算法叫copying gc.
它搜索你的栈,以每个reference为起点,深度优先地把对象拷贝到一块新的堆内存中。
当拷贝结束,所有当前reachable的对象都被挪到了那块新的堆,unreachable的对象保留在旧堆中。就可以被collect了。
因为它不依赖引用计数,所以它对循环引用不敏感。该算法还有些变种,以提高效率,如incremental gc, generational gc.

解决方案 »

  1.   

    那为什么java中一个Frame被实例化以后,能够不会自动退出呢?
      

  2.   

    to ajoo(聪明的一猪) :
    那为什么java中一个Frame被实例化以后,能够不会自动退出呢?
      

  3.   

    gc是以thread为单位的。
    Frame是自己开了一个thread.
    另外,忘了java的哪个版本有一个bug, 如果你new了一个thread, 但不调用start, 会有内存泄漏。