• 技术文章 >java >java基础

    java中gc优化是什么

    小妮浅浅小妮浅浅2021-02-07 17:17:06原创3835

    本教程操作环境:windows7系统、java10版,DELL G3电脑。

    1.概念

    Java程序性能达不到既定目标,且其他优化手段都已经穷尽时,通常需要调整垃圾回收器来进一步提高性能,称为GC优化。

    2.优化目的

    1)将进入老年代的对象数量降到最低

    老年代GC相对来说会比新生代GC更耗时,因此,减少进入老年代的对象数量可以显著降低Full GC的频率。

    2)减少Full GC的执行时间

    Full GC的执行时间比Minor GC要长很多,因此,如果在Full GC上花费过多的时间(超过1s),将可能出现超时错误。

    3.参数

    -Xms, -Xmx和-XX:NewRatio。-Xms和-Xmx参数通常是必须的,所以NewRatio的值将对GC性能产生重要的影响。

    4.步骤

    (1)监控GC的状态

    (2)生成堆的dump文件

    (3)分析dump文件

    (4)分析结果,判断是否需要优化

    (5)调整GC类型和内存分配

    (6)不断的分析和调整

    5.实例

    例子是Full GC时间较长。

    通过 jstat -gcutil 获取如下数据:

    S0    S1   E    O     P     YGC YGCT FGC FGCT GCT
    12.16 0.00 5.18 63.78 20.32 54 2.047 5 6.946 8.993

    Perm区域对于首次GC优化来说并不重要,当前,YGC的值更有价值。

    下面是Minor GC和Full GC 的相关数据:

    以上就是java中gc优化的方法,相信大家在使用gc的时候也会遇到内存堆积过多的问题,那么这时候对gc进行优化就很有必要了。学会本篇gc优化的方法后,赶快动手试试吧。

    专题推荐:java gc优化
    上一篇:java中gc算法的实现 下一篇:java之JVM面试题整理

    相关文章推荐

    • java中gc是什么• gc在java中原理分析• java中gc算法的实现• gc日志在java的查看方法

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网