摘要: 说到垃圾回收(Garbage Collection,GC),很多人就会自然而然地把它和Java联系起来。在Java中,程序员不需要去关心内存动态分配和垃圾回收的问题,这一切都交给了JVM来处理。顾名思义,垃圾回收就是释放垃圾占用的空间,那么在Java中,什么样的对象会被认定为“垃圾”?那么当一些对象 阅读全文
posted @ 2017-02-14 20:52 fankongkong 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 1、 标记-清除算法 (Mark-Sweep) 分为两个阶段: 1、首先标记出所有需要回收的对象; 2、在标记完成后统一回收所有被标记的对象。 缺点: 1、效率问题:标记和清除两个过程效率都不高; 2、空间问题:标记清除之后会产生大量不连续的内存碎片,空间碎片太多可能会导致以后在程序运行过程中需要分 阅读全文
posted @ 2017-02-14 20:50 fankongkong 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 回收的类必须满足下面三个条件才能算是“无用的类” 1、该类所有的实例都已经被回收,也就是说Java堆中不存在该类的任何实例; 2、加载该类的ClassLoader已经被回收; 3、该类对应的java.lang.Class对象没有在任何地方被引用,无法在任何地方通过反射访问该类的方法。 阅读全文
posted @ 2017-02-14 19:41 fankongkong 阅读(2538) 评论(0) 推荐(0) 编辑