黑马程序员技术交流社区

标题: GC的原理 求解释 一下 [打印本页]

作者: 孙铭泽    时间: 2012-8-22 20:26
标题: GC的原理 求解释 一下
垃圾回收器的基本原理是什么?有什么办法主动通知虚拟机进行垃圾回收?

作者: 黑马-王言龙    时间: 2012-8-22 20:42
1、原理:创建对象时,GC就开始监控这个对象的地址、大小以及使用情况。通常,GC采用有向图的方式记录和管理堆(heap)中的所有对象。通过这种方式确定哪些对象是"可达的",哪些对象是"不可达的"。当GC确定一些对象为"不可达"时,GC就有责任回收这些内存空间。

2、可以手动执行System.gc(),通知GC运行,但是Java语言规范并不保证GC一定会执行。调用System.gc()也仅仅是一个请求。JVM接受这个消息后,并不是立即做垃圾回收,而只是对几个垃圾回收算法做了加权,使垃圾回收操作容易发生,或提早发生,或回收较多而已。




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