摘要: 都知道Java对内存是自动垃圾回收的,什么样的内存是可以回收的?这个问题是值得思考的。对象已死的判定方法有两种:(1)引用计数器法给对象添加一个引用计数器,有一个地方用到此对象,计数器加一。引用失效,计数器减一。这个判断方法实现应该简单,但是Java不用。因为对象间的循环引用不好解决。但是作者说微软的com技术,python等用的是这种算法。com完全不懂,但是python难道不会遇到循环引用的问题吗?等有时间研究下python的内存管理。(2)根搜索算法从gc roots开始搜索,可达的对象是存活的,不可达的对象进行回收。这个也很容易理解。当执行到某个方法某个命令时,如果需要垃圾回收,则把当 阅读全文