![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
JVM
++自学者
这个作者很懒,什么都没留下…
展开
-
JVM 调优场景
cpu占用过高 cpu占用过高要分情况讨论,是不是业务上在搞活动,突然有大批的流量进来,而且活动结束后cpu占用率就下降了,如果是这种情况其实可以不用太关心,因为请求越多,需要处理的线程数越多,这是正常的现象。话说回来,如果你的服务器配置本身就差,cpu也只有一个核心,这种情况,稍微多一点流量就真的能够把你的cpu资源耗尽,这时应该考虑先把配置提升吧。 第二种情况,cpu占用率长期过高,这种情况下可能是你的程序有那种循环次数超级多的代码,甚至是出现死循环了。排查步骤如下: (1)用top命原创 2022-12-02 18:18:52 · 181 阅读 · 0 评论 -
下新⽣代对象会晋升到⽼年代
1.如果新⽣代的垃圾收集器为Serial和ParNew,并且设置了-XX:PretenureSizeThreshold参数,当对象⼤于这个参数值时,会被认为是⼤对象,直接进⼊⽼年代。2. Young GC后,如果对象太⼤⽆法进⼊Survivor区,则会通过分配担保机制进⼊⽼年代。3.对象每在Survivor区中“熬过”⼀次Young GC,年龄就增加1岁,当它的年龄增加到⼀定程度(默认为15岁,可以通过-XX:MaxTenuringThreshold设置),就将会被晋升到⽼年代中。4.如果在Survivor原创 2022-11-13 14:00:00 · 210 阅读 · 0 评论 -
HotSpot为什么要分为新⽣代和⽼年代
HotSpot根据对象存活周期的不同将内存划分为⼏块,⼀般是把Java堆分为新⽣代和⽼年代,这样就 可以根据各个年代的特点采⽤最适当的收集算法。在新⽣代中,每次垃圾收集时都发现有⼤批对象死 去,只有少量存活,那就选⽤复制算法,只需要付出少量存活对象的复制成本就可以完成收集。⽽⽼ 年代中因为对象存活率⾼、没有额外空间对它进⾏分配担保,就必须使⽤“标记—清理”或者“标记 —整理”算法来进⾏回收。原创 2022-11-12 14:45:00 · 452 阅读 · 0 评论