您现在的位置是:主页 > news > 杭州余杭区网站建设/微信指数查询

杭州余杭区网站建设/微信指数查询

admin2025/4/10 20:16:55news

简介杭州余杭区网站建设,微信指数查询,免费wordpress申请,群晖 6 wordpress如果把方法区这个逻辑区域看作接口,可以认为永久代是方法区的一个实现JDK1.6 常量池在方法区JDK1.7以后,常量池从方法区被移动到堆中JDK1.8,没有永久代,常量池在元空间堆内存调优GC-1.7GC 1.8相关参数GC频繁收集年轻代较少收集老年…

杭州余杭区网站建设,微信指数查询,免费wordpress申请,群晖 6 wordpress如果把方法区这个逻辑区域看作接口,可以认为永久代是方法区的一个实现JDK1.6 常量池在方法区JDK1.7以后,常量池从方法区被移动到堆中JDK1.8,没有永久代,常量池在元空间堆内存调优GC-1.7GC 1.8相关参数GC频繁收集年轻代较少收集老年…

如果把方法区这个逻辑区域看作接口,可以认为永久代是方法区的一个实现

JDK1.6 常量池在方法区

JDK1.7以后,常量池从方法区被移动到堆中

JDK1.8,没有永久代,常量池在元空间

堆内存调优

GC-1.7

ba963793a19963ace774afc6efd7d8b9.png

GC 1.8

0c489ab785fab2753a6e59c96826519d.png

相关参数

e018c95236ab6ffd02b22cb12beba301.png

GC

频繁收集年轻代

较少收集老年代

基本不动永久代

复制算法: MinorGC

新生代中使用的是MinorGC,这种GC算法采用的是复制算法(copying)

每次使用新生代的Eden和其中一块survior(方便起见,使用的这块survior成为from区,另一块成为to区),当回收时,将Eden和Survior中存活的对象拷贝到另一块Survior空间,最后清理Eden和原来那块survior(from区和to区交换)。并将这些存活下来的对象的年龄设为1,以后对象在Survior区每熬过一次Minor GC,就将对象的年龄+1, 当对象的年龄达到某个值(默认是15,-XX:MaxTenuringThreshold参数设置),这些对象就会成为老年代

注:一些大对象会new到永久代

一般新生代的内存分配 8:1:1,即Eden占80%,另外两个Survior各占10%

复制算法的优缺点: 没有碎片空间,浪费了一些空间(需要一个空的survior作为to区用于等待被使用)

标记清楚/整理:Major GC(Full GC)

老年代GC一般是标记清除(Mark-Sweep)实现或者标记清除和标记整理(Mark-Compact)的混合实现

###### 标记清除

1.标记

从根集合开始扫描,对存活对象进行标记

2.清除

扫描整个内存空间, 回收未被标记的对象, 使用free-list记录该区域

优缺点: 不需要额外空间,但两次扫描耗时严重,会产生内存碎片

标记整理

1.标记

2.整理

优缺点:不会产生碎片, 但两次遍历+整理的效率较低