博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
年老代过大有什么影响
阅读量:5889 次
发布时间:2019-06-19

本文共 514 字,大约阅读时间需要 1 分钟。

jvm系列

年老代大部分是活着的对象,那么年老代过大,或者对象过早提升到年老代,导致年老代存活对象过多,那么如果做一次FullGC,寻找活着的对象,那么对于性能可想而知。

如果系统频繁地发生FullGC的话,而这些或者的对象在这么短的时间内被注销的概率很低,那么FullGC的时间越长,就会有越多的请求得不到响应或者响应很慢,它们所持有的内存就无法释放掉,就会有越多的对象进入Old区域,这就会在一个点上产生连锁效应。

old区不想young区有survivor空间专门存放存活的对象,因而,old区域的对象的清除操作需要在自己的空间内扫描遍历,然后将对应的垃圾对象清除掉,这个时间开销自然是比较大的,虽然可以并行,但是并行之中又带来了很多冲突的复杂性,因而FullGC一直都不是我们想看到的。

清除操作会导致内存产生很多碎片,如果碎片很多的话,在大对象分配上面会出现一些麻烦的问题,因而需要整理碎片,如果存活对象过多的话,那么对于内存碎片整理来说,就越麻烦,有时候可能就为了几个字节的碎片而导致几百M内存对象的移动(JVM不会因为因为这里有几个字节的碎片,而寻找一个几个字节大小的对象放在这个位置,它采用的是顺序移动的方式)。

转载地址:http://qegix.baihongyu.com/

你可能感兴趣的文章
Linux0.00 “boot.s” 程序详解
查看>>
闭包与node.js
查看>>
Android横竖屏切换View设置不同尺寸或等比例缩放的XML解决方案
查看>>
db2look+db2move工具简介及其应用
查看>>
.NET开发者必备的免费工具
查看>>
淘宝HSF服务的原理以及简单的实现
查看>>
参加编程培训(Python、Java)面授到底值不值?
查看>>
树莓派SSH命令行连接wifi
查看>>
sed
查看>>
c#拦截程序的运行
查看>>
[转载] 百科全说——潘怀宗:“认识”食品添加剂(10-10-19)
查看>>
第一行代码
查看>>
IntelliJ IDEA快捷键大全
查看>>
[转载] 高级人工智能——第1章 绪论
查看>>
windows 2003的基本培配置
查看>>
我的友情链接
查看>>
DATAGUARD搭建脚本.
查看>>
[转载] 七龙珠第一部——第126话 复活的神龙
查看>>
第五阶段计划
查看>>
SDN in Action: Practice SDN/OpenFlow with LINC-Switch and OpenDaylight
查看>>