黑马程序员技术交流社区

标题: 垃圾回收机制的理解 [打印本页]

作者: 杨静    时间: 2012-10-16 22:38
标题: 垃圾回收机制的理解
JVM的垃圾回收机制,是否回收一个对象的标准在于:是否还有应用变量引用该对象?只要有引用变量引用该对象垃圾回收机制就不会回收它。
即:当java对象被创建出来以后,垃圾回收机制会实时地监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等。当垃圾回收机实时地检测到某个对象不再被引用变量引用时,立即回答后机制就会回收它所占有的空间。
基本上,可以把JVM内存中对象的引用理解成一种有向图,把引用变量、对象都当做有向图的顶点,将引用关系当成图的有向边,有向边总是从引用端指向被引用的Java对象。因为Java对象都是一条一条线程创建出来的,因此可以把线程对象当成有向图的起始顶点。
对于单线程程序而言,整个程序只有一条main线程,那么该图就是以main进程为顶点的有向图。在这个有向图中,main顶点可达的对象都处于可达状态,垃圾回收机制不会回收它们;如果某个对象在这个有向图中处于不可达状态,那么就可以认为这个对象不再被引用,接下来垃圾回收机制就会回收它了。
作者: 张学东    时间: 2012-10-16 23:59
我找啊找 我说你题的什么问题呢?结果是。。。。学习了  学习了  呵呵
作者: 陈军    时间: 2012-10-17 16:02
垃圾回收机制。。涉及好几种技术。目前不在咱的研究范围内




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2