A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨静 中级黑马   /  2012-10-16 22:38  /  1430 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

JVM的垃圾回收机制,是否回收一个对象的标准在于:是否还有应用变量引用该对象?只要有引用变量引用该对象垃圾回收机制就不会回收它。
即:当java对象被创建出来以后,垃圾回收机制会实时地监控每一个对象的运行状态,包括对象的申请、引用、被引用、赋值等。当垃圾回收机实时地检测到某个对象不再被引用变量引用时,立即回答后机制就会回收它所占有的空间。
基本上,可以把JVM内存中对象的引用理解成一种有向图,把引用变量、对象都当做有向图的顶点,将引用关系当成图的有向边,有向边总是从引用端指向被引用的Java对象。因为Java对象都是一条一条线程创建出来的,因此可以把线程对象当成有向图的起始顶点。
对于单线程程序而言,整个程序只有一条main线程,那么该图就是以main进程为顶点的有向图。在这个有向图中,main顶点可达的对象都处于可达状态,垃圾回收机制不会回收它们;如果某个对象在这个有向图中处于不可达状态,那么就可以认为这个对象不再被引用,接下来垃圾回收机制就会回收它了。

评分

参与人数 1技术分 +1 收起 理由
韩军博 + 1

查看全部评分

2 个回复

倒序浏览
我找啊找 我说你题的什么问题呢?结果是。。。。学习了  学习了  呵呵
回复 使用道具 举报
垃圾回收机制。。涉及好几种技术。目前不在咱的研究范围内
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马