跳过正文

JVM

浅尝辄止 JEP - JEP-502:Stable Value(预览)

浅尝辄止 JEP - JEP-502:Stable Value(预览)

·4869 字·10 分钟
探索 JEP 502 的 StableValue API,它解决了 Java 开发中不变性与初始化灵活性之间的根本权衡。本文涵盖 API 设计、核心实现细节(包括双重检查锁定模式、内存语义)以及使用 @Stable 注解的 JIT 优化策略。
为什么应该避免在生产环境中启用 HeapDumpOnOutOfMemoryError

为什么应该避免在生产环境中启用 HeapDumpOnOutOfMemoryError

·1536 字·4 分钟
全面指南,探讨为什么启用 HeapDumpOnOutOfMemoryError 会在生产环境中导致严重的性能问题,哪些 OutOfMemoryError 类型实际触发堆转储,以及使用 JFR 进行内存泄漏检测和自动服务重启策略等更好的替代方案。
全网最硬核 JDK 分析 - 4. OpenJDK JVM 内存结构实现

全网最硬核 JDK 分析 - 4. OpenJDK JVM 内存结构实现

·69418 字·139 分钟
一次全面深入的 JVM 内存架构剖析,涵盖堆内存、元空间、线程栈以及压缩对象指针。本文从内存分配流程、Native Memory Tracking 出发,并通过 jol、jhsdb、JFR 等工具示例,帮助理解 JVM 内存管理内部机制。
解决 JVM Safepoint 延迟:从 EFS 集成到异步日志的探索之旅

解决 JVM Safepoint 延迟:从 EFS 集成到异步日志的探索之旅

·2317 字·5 分钟
深入调查升级到 Java 17 并实施 AWS EFS 集中式日志收集后出现的神秘 JVM safepoint 延迟问题。我们发现日志输出期间的文件 I/O 阻塞如何冻结整个 JVM 进程,并通过异步日志和正确的 WebFlux 实现解决了这个问题。
全网最硬核 JDK 分析 - 3. Java 新内存模型解析与实验

全网最硬核 JDK 分析 - 3. Java 新内存模型解析与实验

·25486 字·51 分钟
从规范到实现深入探讨 Java 内存模型(JMM),涵盖内存屏障、CPU 重排序和 Java 9+ VarHandle API。了解一致性、因果性、共识性,以及 volatile、final 和其他同步机制在底层的工作原理,并提供实用的 jcstress 示例。
全网最硬核 JDK 分析 - 1. TLAB 全面解析

全网最硬核 JDK 分析 - 1. TLAB 全面解析

·21531 字·43 分钟
深入探讨 JVM 的线程本地分配缓冲区(TLAB)机制,涵盖设计原理、实现细节、性能优化和源代码分析。了解 TLAB 如何提高多线程环境中的内存分配效率,并掌握 TLAB 调优技术。
OpenJDK 11 JVM 日志:新统一配置完整指南

OpenJDK 11 JVM 日志:新统一配置完整指南

·2259 字·5 分钟
了解 OpenJDK 11 如何通过其统一配置系统彻底改变 JVM 日志记录。学习用于 GC 分析、类加载和运行时编译的基本日志标签,以及使用 jcmd 进行实时性能调优的动态日志配置。