垃圾收算法
1.引用计数法(Reference Counting Collector)
2.tracing算法(Tracing Collector)
3.compacting算法(Compacting Collector)
4.copying算法(Coping Collector)
5。generation算法(Generational Collector)
6.adaptive算法(Adaptive Collector)
一个新的对象被创建,由于它没有使用,所以该对象迅速地变为不可达,程序编译后,执行命令: java -verbosegc TestGC 后结果为:
[Full GC 168K->97K(1984K), 0.0253873 secs]
机器的环境为,Windows 2000 + JDK1.3.1,箭头前后的数据168K和97K分别表示垃圾收集GC前后所有存活对象使用的内存容量,说明有168K-97K=71K的对象容量被回收,括号内的数据1984K为堆内存的总容量,收集所需要的时间是0.0253873秒(这个时间在每次执行的时候会有所不同)。
需要注意的是,调用System.gc()也仅仅是一个请求(建议)。JVM接受这个消息后,并不是立即做垃圾回收,而只是对几个垃圾回收算法做了加权,使垃圾回收操作容易发生,或提早发生,或回收较多而已。
一旦垃圾回收器准备好释放对象占用的存储空间,首先会去调用finalize()方法进行一些必要的清理工作。只有到下一次再进行垃圾回收动作的时候,才会真正释放这个对象所占用的内存空间。
http://blog.csdn.net/zsuguangh/article/details/6429592
看能否对你有用
2014年5月14日 13:36