- 浏览: 821 次
- 性别:
- 来自: 深圳
最新评论
文章列表
首先,目前主流的JVM实现中都采用了分代收集的算法,我们常常听到的新生代,老年代就是基于这个算法。
新生代:存放那些朝生夕死的对象
老年代:存放存活时间超过指定数值的对象
还有永久代,也就是方法区。存放了类结构,静态数据等,此区域JVM规范中并不要求回收。
1,标记-清除算法
原理:通过可达性分析标记无效对象,然后清除。
问题:产生大量内存碎片,碎片过多时,导致内存不够,提前触发GC
2,复制算法(适合新生代朝生夕死的特点)
原理:将堆分为两个区域A,B。分配对象时,在A区域分配,A不够分配时,将A中 ...