本教程操作环境: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优化的方法后,赶快动手试试吧。
伴沃教育还为您提供以下相关内容希望对您有帮助:
加gc是什么意思?
加gc是一种特殊的Java内存管理方式,它可以使得Java程序在运行过程中动态地为内存中的不再使用的对象释放内存空间,保证了程序的效率和稳定性,并且减少了Java内存泄漏的风险。同时,加gc也可以通过对内存堆的整理和清理来优化程序的执行效率,从而提升程序的运行速度和执行性能。加gc的工作原理就是在Java程...
java中的gc是什么意思啊?
GC全称为Garbage Collection,是Java语言中的一种自动内存管理机制。在Java程序运行时,由于动态分配内存,不同对象分配到不同的内存地址上,当某些对象不再被使用,但它们占用的内存没有被回收,就会产生内存泄漏,从而导致程序运行变慢或崩溃。为了解决这一问题,Java引入了GC机制,可以自动扫描并释放不再...
java中gc是什么意思
Java中GC是什么意思?GC是指垃圾回收机制,是Java平台内存管理的一部分。它是一个后台线程,从堆中删除不再使用的、和可达性分析不到的对象。Java程序员不用手动分配和释放内存,GC会自动进行内存回收,使得Java程序更加安全和高效。GC的工作原理是在后台监控Java堆中的对象,当一个对象不再被引用时,GC...
GC能力是什么意思?
GC能力指的是垃圾回收的能力,是一种计算机系统自动管理内存的技术。当程序执行时,系统会动态的将已经不再被使用的内存空间回收,并重新分配给程序需要的空间。GC能力决定了系统程序的稳定性和性能,对于高并发、大数据量的系统来说,GC能力尤为重要。GC能力也涉及到Java虚拟机的管理能力。Java是一种基于...
gc是什么意思字母?
GC的作用是优化程序的运行效率和节省内存空间。一些常见的编程语言,如Java、C#、Python等都使用了GC机制来管理内存使用,使程序员不需要手动处理内存的分配和释放。通过GC机制,程序员可以更加专注于程序的业务逻辑,而不需要花费大量的时间去管理内存空间。因此,GC成为了现代计算机编程中必不可少的一部分...
gc是什么意思
gc是Garbage Collection的缩写,是垃圾回收机制的意思。gc即垃圾回收机制,用于java堆的内存管理,在JVM中程序计数器,为了避免影响性能,java虚拟机会在程序运行过程中不断的进行自动的垃圾回收。java虚拟机栈,本地方法栈的生命周期跟随线程,栈帧的进栈和出栈等都能够实现自动清理。程序在运行时,会有...
java中GC指的是什么?
gc是指垃圾回收机制,当一个对象不能再被后续程序所引用到时,这个对象所占用的内存空间就没有存在的意义了,java虚拟机会不定时的去检测内存中这样的对象,然后回收这块内存空间。GC的基本原理:对于程序员来说,用new关键字即在堆中分配了内存,我们称之为“可达”。对于GC来说,只要所有被引用的对象...
GC参数是什么意思?
GC参数是指Java虚拟机的垃圾回收相关的配置参数,也就是Garbage Collection parameters。这些参数可以影响垃圾回收机制的行为,如何收集垃圾、什么时候收集垃圾、收集哪些对象等等,从而影响系统的性能和稳定性。设置GC参数的方式因操作系统和Java虚拟机不同而异。一般来说,可以通过命令行参数或者虚拟机参数文件...
大学java性能优化的细节你知道几个?
Java性能优化8个细节 1,尽量在合适的场合使用单例 使用单例可以减轻加载的负担,缩短加载的时间,提高加载的效率,但并不是所有地方都适用干单例 简单来说,单例主要适用于以下三个方面.1控制资源的使用,通过线程同步来控制资源的并发访问:2.控制实例的产生,以达到节约资源的目的:3.控制数据共享,在...
java中GC指的是什么?
gc是指垃圾回收机制,当一个对象不能再被后续程序所引用到时,这个对象所占用的内存空间就没有存在的意义了,java虚拟机会不定时的去检测内存中这样的对象,然后回收这块内存空间。GC的基本原理:对于程序员来说,用new关键字即在堆中分配了内存,我们称之为“可达”。对于GC来说,只要所有被引用的对象...