面试题IT必备技能JVM

16.JVM垃圾回收

2020-03-06  本文已影响0人  强某某

JDK内置工具

  1. javap
    java反编译工具,主要用于根据Java字节码文件反汇编为Java源代码文件。


    1.png
  2. JPS
    jsp显示当前所有java进程pid的命令


    2.png
  3. jstat


    3.png
4.png
  1. jcmd


    5.png
  2. jinfo


    6.png
  3. jhat


    7.png
  4. jmap


    8.png
  5. jstack


    9.png
  6. Jconsole


    10.png
  7. JvisualVM


    11.png

调优基本概念

在调整性能时,JVM有三个组件:

  1. 堆大小调整
  2. 垃圾收集器调整
  3. JIT编译器

大多数调优选项都与调整堆大小和为具体的情况选择最合适的垃圾收集器有关。
JIT编译器在新版本JVM上面已经优化很好,所以一般不需要进行操作,而且即使操作也是源码级别的难度比较高。

通常,在调优Java应用程序时,重点是以下两个主要目标之一:

常用JVM参数

12.png

GC调优思路

  1. 分析场景
    例如:启动速度慢,偶尔出现响应慢于平均水平或者出现卡顿
  2. 确定目标
    内存占用、低延时、吞吐量
  3. 收集日志
    通过参数配置收集GC日志;通过JDK工具查看GC状态
  4. 分析日志
    使用工具辅助分析日志,查看GC次数,GC时间
  5. 调整参数
    切换垃圾收集器或者调整垃圾收集器参数

垃圾收集器Parallel参数调优

13.png

Parallel是新版默认的收集器,而且吞吐量优先

垃圾收集器CMS(1.9被废弃)参数调优

14.png

垃圾收集器G1参数调优

15.png

运行时JIT编译器优化参数

JIT编译指的是字节码编译为本地代码(汇编)执行,只有热点代码才会编译为本地代码。解释器执行节约内存,反之可以使用编译执行来提升效率


16.png
上一篇下一篇

猜你喜欢

热点阅读