jvm调优-小白

1、jvm调优

jvm调优说白了就是杜绝Full GC或者减少Full GC次数,使系统稳定运行。
下面先说说堆内存模型

2、堆内存模型

下面是堆内存模型图
在这里插入图片描述
由上图可以看出堆内存分为年轻代和老年代,年轻代又分为eden区和Survivor区,Survivor区分为from区和to区。

2.1可达性分析算法

可达性分析算法:将“GC ROOTS”对象作为启点,从这些节点开始向下搜索引用对象,找到的对象都标记为非垃圾对象,其余的未标记的对象都是垃圾对象

2.2GC回收机制

当eden区满时,根据可达性分析算法,清除垃圾对象,保留有用对象,对象分代年龄加一(对象分代年龄可以理解为对象的一个属性,标识对象经过几次GC),将存活的对象移至from区,当eden区再次满时,对eden区和from区进行minor GC,回收垃圾对象,存活对象分代年龄加一,移至to区,如此循环,当from区或to区满时或对象分代年龄为十五时(默认值)或者一次性移进Survivor区的大小大于Survivor区一半,对象移至old,但old区满时,就好进行Full GC(堆整个堆内存进行垃圾回收),进行Full GC时,会触发stw,程序会停止运行,等待Full GC结束。

3、jvm怎么调优

jvm调优即手动调整年轻代的大小:下面分析一下下面的这个命令:
java -Xms3072M -Xmx3072M -Xmn2048 -Xss1M -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -jar 应用.jar

-Xms:JVM启动时整个堆(包括年轻代,年老代)的初始化大小
-Xmx: JVM启动时整个堆的最大值
-Xmn:年轻代大小
即通过调整年轻代大小,尽量不让对象进入老年代,避免进行Full GC。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值