synchronized 锁机制的分析和验证
synchronized 锁机制的分析和验证原文:https://www.moralok.com/2023/12/19/analysis-and-verification-of-the-synchronized-lock-mechanism/本文详细介绍了 java 中 synchronized 锁的机制、存储结构、优化措施以及升级过程,并通过 jo……
JHSDB:基于服务性代理的调试工具
jhsdb:基于服务性代理的调试工具jhsdb是一款基于服务性代理(Serviceability Agent,SA)实现的进程外调试工具。服务性代理是HotSpot虚拟机中一组用于映射java虚拟机运行信息的、主要基于java语言(含少量JNI代码)实现的API集合。服务性代理以HotSpot内部的数据结构为参照物进行设计,把这些C++的数据抽象出java……
JVM GC 的安全点与安全区域
jvm GC 的安全点与安全区域OopMapjvm 采用的可达性分析法有个缺点,就是从 GC Roots 找引用链耗时。都说他耗时,他究竟耗时在哪里?GC 进行扫描时,需要查看每个位置存储的是不是引用类型,如果是,其所引用的对象就不能被回收;如果不是,那就是基本类型,这些肯定是不会引用对象的;这种对 GC 无用的基本类型的数据非常多,每次 GC 都要……
垃圾回收算法是如何设计的?
底层原理:垃圾回收算法是如何设计的?如果大家关注 JDK,会发现在频繁发布的 JDK 版本中,和垃圾回收相关的 JEP (JDK Enhancement Proposals,java 增强提案)越来越多了,垃圾回收(Garbage Collection,GC)正处于方兴未艾的阶段。譬如,在 JEP-248 中 G1 替代了并行垃圾回收器成为 jvm 中默认……
Java虚拟机详解—-垃圾收集器及GC参数
java虚拟机详解----垃圾收集器及GC参数零、堆的回顾:新生代中的98%对象都是“朝生夕死”的,所以并不需要按照1:1的比例来划分内存空间,而是将内存分为一块比较大的Eden空间和两块较小的Survivor空间,每次使用Eden和其中一块Survivor。当回收时,将Eden和Survivor中还存活着的对象一次性地复制到另外一块Survivor空间……
Java虚拟机详解—-GC算法和种类
java虚拟机详解----GC算法和种类一、GC的概念:GC:Garbage Collection 垃圾收集1960年 Lisp使用了GCjava中,GC的对象是java堆和方法区(即永久区)我们接下来对上面的三句话进行一一的解释:(1)GC:Garbage Collection 垃圾收集。这里所谓的垃圾指的是在系统运行过程当中所产生的一些无……
Java虚拟机详解—-常用JVM配置参数
java虚拟机详解----常用jvm配置参数零、在IDE的后台打印GC日志:既然学习jvm,阅读GC日志是处理java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技术含量。既然如此,那么在IDE的控制台打印GC日志是必不可少的了。现在就告诉你怎么打印。(1)如果你用的是Eclipse,打印GC日志的操作如下:在上图的箭头处加……
洞察设计模式的底层逻辑
作者:不拔原文:https://mp.weixin.qq.com/s/qRjn_4xZdmuUPQFoWMBQ4Q设计模式是开发同学经常聊到的话题,也经常被用到实际的开发项目中,熟练的人可以做到信手拈来,不熟悉的人陷入苦思冥想中。笔者认为,不仅仅要掌握设计模式的用法,更要洞察设计模式的底层逻辑,只有那样,才能做到遇到实际的问题可以使用合适的设计模式去……
一次线上内存溢出排查
现象:频繁full gc ,内存回收不掉。分析:新增需求后发现此现象,使用阿里 的Athas查线上内存情况,发现gc标记时间非常长。使用sonar扫描发现很多bug,但是经过代码分析,原因不在此。jmap -histo pid发现linkedHashMap有大量的数据未回收。将异常时转存的dump文件拉下来。文件太大,……