JVM
文章平均质量分 85
码农BookSea
Java开发工程师,写文章的初衷是为了沉淀我所学习,累积我所见闻,分享我所体验。站在巨人的肩膀上,我也能看得更远,希望和更多的人交流学习。
展开
-
深入解析ZGC垃圾回收器
ZGC的目标是希望在尽可能对吞吐量影响不太大的前提下 ,实现在任意堆内存大小下都可以把垃圾收集的停顿时间限制在十毫秒以内的低延迟。原创 2023-08-29 10:47:56 · 116 阅读 · 0 评论 -
深入解析G1垃圾回收器
G1,全名叫:Garbage First。是垃圾收集器技术发展历史上的里程碑式的成果,开创了收集器面向局部收集的设计思路和基于Region的内存布局形式。原创 2023-08-29 10:46:56 · 202 阅读 · 0 评论 -
深入解析CMS垃圾回收器
在CMS之前的垃圾回收器,要么就是串行垃圾回收方式,要么就是关注系统吞吐量,而 CMS 垃圾回收器的出现,则打破了这个尴尬的局面。原创 2023-08-29 10:44:22 · 96 阅读 · 0 评论 -
昨晚做梦面试官问我三色标记算法
昨晚又做噩梦了原创 2023-08-23 11:28:58 · 90 阅读 · 0 评论 -
GC面临的困境,JVM是如何解决跨代引用的?
前面我们讲了可达性分析和根节点枚举,介绍完了GC的前置工作,下面开始讲GC的工作过程。原创 2023-08-23 11:28:13 · 150 阅读 · 0 评论 -
GC的前置工作,聊聊GC是如何快速枚举根节点的
填个坑原创 2023-08-21 11:50:30 · 72 阅读 · 0 评论 -
面试官:JVM是如何判定对象已死的?学JVM必会的知识!
作为一名Java程序员,我们每天都在程序里不停地去new对象,但是你知道这些被new出来的对象,最后是怎么被回收的吗?原创 2023-08-20 12:52:39 · 96 阅读 · 0 评论 -
JVM学习笔记(5)——JVM线上问题排查
文章目录一、JVM线上问题排查案例分析二、怎么找持有这把锁的线程?三、jstack和jmapjstackjmap四、在线排查为什么需要在线排查一、JVM线上问题排查案例分析JVM内存设置越大,FGC耗时越长CPU 100%问题排查系统运行缓慢,CPU 100%,以及Full GC次数过多问题的排查思路JVM优化调试使用心得与线上CPU100%原因分析如果想看线程的jstack,就得把线程号转为16进制再 jstack,前面要加0x。如果想看进程的jstack,直接jstack加上线程号就行,原创 2021-12-14 13:50:35 · 352 阅读 · 0 评论 -
JVM学习笔记(4)——JVM调优
文章目录一、永久代和元数据区二、JVM调优三、JVM开启GC日志案例分析怎么找持有这把锁的线程?一、永久代和元数据区永久代和元数据区都是方法区的具体实现,方法区是JVM的一个概念1.7是永久代,1.8是元数据区区别:二、JVM调优调优先确定,是要保证吞吐量,还是响应时间。这2个是矛盾的,响应时间越短,吞吐量就会越少没有最好的垃圾回收器,有些垃圾回收器响应时间短,但是吞吐量小,所以需要根据业务选项合适的垃圾收集器组合。吞吐量优先一般选: PS+PO。响应时间优先一般选:G1。不过现在一原创 2021-12-13 19:45:00 · 483 阅读 · 0 评论 -
JVM学习笔记(3)——垃圾回收器
文章目录一、堆内存逻辑分区二、MinorGC和MajorGC三、逃逸四、对象何时进入老年代五、怎么看JVM参数?六、垃圾回收器SerialCMS(concurrent mark sweep)一、堆内存逻辑分区这里图片写错了: 新生代比老年代应该是 1:2对象来了,先会在stack上进行分配,stack放不下才到了Eden区,Eden区经过一次回收到了幸存者1区。进入old区的年龄可以通过参数配置,一般是15二、MinorGC和MajorGC三、逃逸如果一个对象没有被引用指向它,被限定在一原创 2021-12-12 13:43:19 · 271 阅读 · 0 评论 -
JVM学习笔记(2)——MarkWord和GC入门
文章目录一、as if serial二、对象的创建过程三、对象占用多少字节MarkWord调用hasCode导致锁升级四、GC何为垃圾怎么发现垃圾引用计数器GC Root(可达性分析算法)GC算法标记-清除算法复制算法标记-压缩分代算法一、as if serial不管如何重排序,单线程执行结果不会变二、对象的创建过程三、对象占用多少字节对象的MarkWord一般占8字节,MarkWord的2位来表示锁的状态,分代年龄也在MarkWord里,表明这个对象被GC回收了多少次+ UseCompre原创 2021-12-11 12:53:01 · 659 阅读 · 0 评论 -
JVM学习笔记(1)——初识JVM
文章目录一、调度算法分类二、常用调度算法时间⽚轮转(Round Robin, RR)先来先服务(First Come First Seved, FCFS)最短作业优先(Shortest Job First, SJF)⾼响应⽐优先(Highest Response Ratio Next, HRRN)最⾼优先级(Highest Priority First , HPF)一、调度算法分类调度算法分为两类:⾮抢占式和抢占式⾮抢占式调度算法挑选⼀个进程,然后让该进程运⾏直到被阻塞,或者直到该进程退出,才会调原创 2021-12-09 19:07:06 · 322 阅读 · 0 评论