8、JVM优化简介

什么是JVM优化?

JVM里面有类加载器、执行引擎等东西,不是我们关心的,我们就关心JVM中的内存区域划分,也就是说,所谓的JVM优化主要关注的是:内存。

JVM优化只关注两个方面,第一个方面就是避免频繁Full GC,第二个方面就是避免OOM

避免频繁Full GC:

我们都知道GC是需要stop the world的,在GC期间,会暂停所有工作线程,此时用户的直接感受就是程序卡顿。其中Young GC 时间很短,一般在几毫秒到几十毫秒之间,用户是感受不到的;而Full GC因为要标记的对象多,而且还要进行内存整理等原因,比较耗时,一般在几百毫秒,有的甚至几秒,这种因为Full GC导致的停顿可以明显感觉到。 所谓的JVM优化就是尽量降低Full GC的发生频率以及Full GC的造成的程序停顿时间。

避免OOM:

OOM,内存溢出,内存溢出是会导致整个JVM挂掉的,一旦发生OOM那么在这个JVM之上的服务实例就不可用了。而要解决OOM是需要摸清JVM内存使用情况的。

如何做JVM优化?

定位问题:

使用jstat来搞清楚JVM的运行情况;通过打印出来的gc日志来查看更细节的JVM运行状况;通过jmap来dump堆内存快照;使用jhat、MAT、jConsole等工具来堆dump出来的堆内存快照进行分析。

解决问题:

如果是不合理的JVM参数造成的,那么就调整JVM启动参数;如果是程序写的有问题,那么就解决程序BUG。

1、JVM是如何工作的?_jerry_dyy的博客-CSDN博客_jvm是如何运行的

2、JVM的类加载机制_jerry_dyy的博客-CSDN博客

3、JVM内存区域划分_jerry_dyy的博客-CSDN博客_jvm的内存区域划分

4、JVM垃圾回收机制_jerry_dyy的博客-CSDN博客

5、JVM分代模型--新生代 的垃圾回收_jerry_dyy的博客-CSDN博客_jvm新生代划分

6、JVM分代模型--老年代 的垃圾回收_jerry_dyy的博客-CSDN博客

7、常见的垃圾回收器_jerry_dyy的博客-CSDN博客

8、JVM优化简介_jerry_dyy的博客-CSDN博客

9、学会查看GC日志_jerry_dyy的博客-CSDN博客

10、摸清JVM运行状况_jerry_dyy的博客-CSDN博客

11、摸清JVM对象分布_jerry_dyy的博客-CSDN博客

12、OOM简介_jerry_dyy的博客-CSDN博客

13、OOM模拟_jerry_dyy的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值