马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
什么是Full GC
Full GC(Full Garbage Collection)是Java垃圾网络过程中的一种情势,它涉及整个堆内存(包罗年轻代和老年代)以及方法区的垃圾网络。Full GC是一个相对重量级的利用,由于它必要遍历和接纳整个堆内存中的不可达对象,而且通常会导致应用步调的停顿(Stop-The-World),即停息应用步调的全部线程以举行垃圾网络。
在JVM(Java假造机)中,频仍发生Full GC(垃圾网络)会严肃影相应用性能,导致长时间的停顿,低落体系的相应速率乃至影响用户体验。以下是对频仍发生Full GC的缘故原由及制止步伐的分析:
频仍发生Full GC的缘故原由
- 堆内存设置不公道:
Survivor区设置过小,导致对象频仍进入老年代。堆内存分配过小,无法容纳应用步调创建的大量对象。
- 内存分配不公道:
应用步调创建了大量短生命周期的对象,导致堆内存敏捷被填满。应用步调中存在内存走漏,未能精确开释无用对象,导致堆内存占用不停增长。
- 对象提拔失败:
当年轻代对象要提拔到老年代,但老年代空间不敷时,会触发Full GC,这种征象称为提拔失败。这通常发生在高并发场景下,大量对象短时间内从年轻代提拔到老年代,而老年代没有富足的空间存放这些对象。
- 老年代内存碎片:
当老年代被频仍分配和开释对象时,大概会导致内存碎片化。内存碎片大概导致对象无法提拔,纵然老年代有富足的空闲空间,也无法容纳新的大对象,从而触发Full GC。
- 利用了不恰当当前应用场景的GC算法:
差异的GC算法在性能和耽误上有差异的权衡。如果利用了不恰当当前应用场景的GC算法,大概会导致垃圾接纳服从低下,
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金 |