指针压缩
-
彻底搞懂 MAT:Shallow Heap 与 Retained Heap 的底层算法与性能调优实战
在 Java 性能调优的战场上,Eclipse MAT (Memory Analyzer Tool) 是每一位开发者分析堆转储(Heap Dump)的利器。然而,面对 MAT 报告中两个最基础的指标—— Shallow Heap 与 ...
-
详解 Java 对象的内存布局:为什么一个空的 Object 会占用 16 个字节?
在 Java 开发中,我们每天都会创建成千上万的对象。你可能听说过“Java 对象很重”,但你是否真正计算过,一个普通的 new Object() 到底占用了多少内存?为什么在 64 位虚拟机上,即便是一个没有任何字段的空对象,也会稳...
-
突破32GB限制:详解ZGC在超大堆(512GB+)下如何应对指针压缩失效与性能衰退
在Java后端架构向大内存、高并发演进的今天,512GB甚至1TB以上的JVM堆内存需求已经屡见不鲜。然而,伴随内存容量跨越 32GB 这一关键门槛,传统的JVM垃圾收集器(如G1、Parallel)都会面临一个致命的性能拐点—— 普通对...
-
为什么 HotSpot 不默认支持 -XX:ObjectAlignmentInBytes=64?深度解析其内存碎片与性能损耗
在 JVM 性能调优的冷门知识库里, -XX:ObjectAlignmentInBytes 是一个经常被提及但在生产环境中极少被修改的参数。 我们知道,HotSpot 虚拟机默认的对象对齐步长是 8 字节 ( -XX:Object...