对比 |
Minor GC |
Full CG |
发生位置 |
新生代 |
老年代 |
算法 |
复制 |
标记清除/标记整理 |
- 复制算(copying)法的优点是 不会产生内存碎片,而且可以完整的保留对象,
缺点是:犹豫eden 和两个 survivor区是8:1:1 所以总有百分之10的空间浪费,对象存活率高的话,复制性能就比较差了
- 标记清除(Mark Sweep):1.扫描对存活的对象进行标记。2.扫描整个空间,对未被标记的对象进行回收。节约空间,但是需要两次扫描,并且产生了内存碎片。
- 标记整理 (Mark Compact ):效率低,不仅需要标记所有存活的对象,而且还需要整理所有存活对象的引用地址
调优参数 :Xms : Xmx:
看日志:XXprintdetail;
新生代分为 Eden ,sur0 ,sur1
老年代
对比1.6 ,1.7 ,1.8 jvm ,hotspot
|
1.6 |
1.7 |
1.8 |
运行时常量池 |
方法区 |
堆 |
元空间 |
永久代 |
√ |
√ |
× |
在永久代移除后,字符串常量池也不再放在永久代了,但是也没有放到新的方法区—元空间里,而是留在了堆里(为了方便回收?)。运行时常量池当然是随着搬家到了元空间里,毕竟它是装静态变量、字节码等信息的,有它的地方才称得上方法区。