随笔分类 - Jvm虚拟机
摘要:一.背景 本篇文章主要介绍JProfile工具的使用 这里有几个问题先抛出来 1.JProfile是什么? --是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE应用程序开发的 2.JProfile具备哪些功能 --2.1本地会话的实时分析(重要) --2.2
阅读全文
摘要:一.背景 最近在Grafana关注到线上推送服务push-service在运行一段时间后,内存占用非常高,并且频繁发生FGC,这里记录下问题排查过程 二.排查过程 推送服务主要作用为,消息推送,因此JVM内存这里分配的是 Xmx 和Xms 均为2G 1. 首先在Grafana上的监控指标,可以看到F
阅读全文
摘要:参考:https://www.cnblogs.com/ronnieyuan/p/11718536.html 堆内内存: 堆内内存是java程序员在日常工作中解除比较多的, 可以在jvm参数中使用-Xms, -Xmx 等参数来设置堆的大小和最大值 堆内内存 = 年轻代 + 老年代 + 持久代(JDK1
阅读全文
摘要:规范和实现 针对Java虚拟机的实现有专门的《Java虚拟机规范》,在遵守规范的前提下,不同的厂商会对虚拟机进行不同的实现。 就好比开发的过程中定义了接口,具体的接口实现大家可以根据不同的业务需求进行实现。 PS:大家都有必要了解一下《Java虚拟机规范》,关注公众号“程序新视界”,回复“002”获
阅读全文
摘要:抛几个问题: 1.谁进行空间担保? JVM使用分代收集算法,将堆内存划分为年轻代和老年代,两块内存分别采用不同的垃圾回收算法,空间担保指的是老年代进行空间分配担保 2.什么是空间分配担保? 在发生Minor GC之前,虚拟机会检查老年代最大可用的连续空间是否大于新生代所有对象的总空间, 如果大于,则
阅读全文
摘要:1、标记 -清除算法 “标记-清除”(Mark-Sweep)算法,如它的名字一样,算法分为“标记”和“清除”两个阶段:首先标记出所有需要回收的对象,在标记完成后统一回收掉所有被标记的对象。之所以说它是最基础的收集算法,是因为后续的收集算法都是基于这种思路并对其缺点进行改进而得到的。 缺点 1.一个是
阅读全文
摘要:垃圾收集器组合 Serial+Serial Old Serial+CMS ParNew+CMS ParNew+Serial Old Paralle Scavenge + Serial Old Paralle Scavenge + Paralle Old 一.Serial(年轻代) : 年轻代收集器,
阅读全文