<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Jvm on Neat Guy Coding</title><link>https://neatguycoding.com/zh-cn/tags/jvm/</link><description>Recent content in Jvm on Neat Guy Coding</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>© 2026 NeatGuyCoding</copyright><lastBuildDate>Mon, 18 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://neatguycoding.com/zh-cn/tags/jvm/index.xml" rel="self" type="application/rss+xml"/><item><title>JVM 与 Spring Boot 可观测性：三信号如何真正串起来</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-i-can-see-clearly-now-observability-of-jvm-spring-boot-2-3-4-apps-spring/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-spring-io-2026-i-can-see-clearly-now-observability-of-jvm-spring-boot-2-3-4-apps-spring/</guid><description>JVM 与 Spring Boot 可观测性：三信号如何真正串起来</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-spring-io-2026-i-can-see-clearly-now-observability-of-jvm-spring-boot-2-3-4-apps-spring/cover.png"/></item><item><title>超大规模 Java 平台：从联邦 GraphQL 到 JVM 默认项</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-netflix-uses-java-2026-edition/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-netflix-uses-java-2026-edition/</guid><description>超大规模 Java 平台：从联邦 GraphQL 到 JVM 默认项</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-how-netflix-uses-java-2026-edition/cover.png"/></item><item><title>泛型代码在 JVM 上如何变快：擦除、剖析与「坠崖」之后的攀爬</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-the-jvm-optimizes-generic-code-a-deep-dive/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-how-the-jvm-optimizes-generic-code-a-deep-dive/</guid><description>泛型代码在 JVM 上如何变快：擦除、剖析与「坠崖」之后的攀爬</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-how-the-jvm-optimizes-generic-code-a-deep-dive/cover.png"/></item><item><title>死后 JVM 崩溃分析：用 jcmd 读 core，而不是重学一套工具</title><link>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-post-mortem-jvm-crash-analysis-with-jcmd/</link><pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/2026-05-18-javaone-2026-post-mortem-jvm-crash-analysis-with-jcmd/</guid><description>死后 JVM 崩溃分析：用 jcmd 读 core，而不是重学一套工具</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/2026-05-18-javaone-2026-post-mortem-jvm-crash-analysis-with-jcmd/cover.png"/></item><item><title>WebAssembly 作为 JVM 生态的嵌入层：模型、运行时与工程抓手</title><link>https://neatguycoding.com/zh-cn/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/</link><pubDate>Wed, 06 May 2026 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/</guid><description>WebAssembly 作为 JVM 生态的嵌入层：模型、运行时与工程抓手</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/webassembly-and-the-future-of-the-jvm-ecosystem-by-andrea-peruffo-spring-io-20/cover.png"/></item><item><title>全网最硬核 JDK 解析 - 6. 通过 JFR 快速定位 Java 堆 OOM 实战与底层原理</title><link>https://neatguycoding.com/zh-cn/posts/tough-jdk-6-jfr-track-oom/</link><pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/tough-jdk-6-jfr-track-oom/</guid><description>深入讲解如何通过 JFR（JDK Flight Recorder）快速定位 Java 堆 OOM 的实战方法与底层原理，涵盖三种典型 OOM 场景的 JFR 事件分析，包括 Allocation Requiring GC、ZAllocationStall、ObjectAllocationOutsideTLAB 等关键事件的采集与分析技巧。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/tough-jdk-6-jfr-track-oom/featured.jpg"/></item><item><title>浅尝辄止 JEP - JEP-502：Stable Value（预览）</title><link>https://neatguycoding.com/zh-cn/posts/brief-look-jep-502/</link><pubDate>Sat, 01 Nov 2025 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/brief-look-jep-502/</guid><description>探索 JEP 502 的 StableValue API，它解决了 Java 开发中不变性与初始化灵活性之间的根本权衡。本文涵盖 API 设计、核心实现细节（包括双重检查锁定模式、内存语义）以及使用 @Stable 注解的 JIT 优化策略。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/brief-look-jep-502/featured.jpg"/></item><item><title>为什么应该避免在生产环境中启用 HeapDumpOnOutOfMemoryError</title><link>https://neatguycoding.com/zh-cn/posts/java-oom/</link><pubDate>Thu, 01 May 2025 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/java-oom/</guid><description>全面指南，探讨为什么启用 HeapDumpOnOutOfMemoryError 会在生产环境中导致严重的性能问题，哪些 OutOfMemoryError 类型实际触发堆转储，以及使用 JFR 进行内存泄漏检测和自动服务重启策略等更好的替代方案。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/java-oom/featured.jpg"/></item><item><title>GraalVM Native Image 进程能否被 jps 检测到？以及我们的生产策略</title><link>https://neatguycoding.com/zh-cn/posts/graalvm-jvm/</link><pubDate>Fri, 19 Apr 2024 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/graalvm-jvm/</guid><description>了解 GraalVM Native Image 进程何时会在 jps 中显示，并学习我们在生产环境中在 GraalVM Native Image 和 JVM 之间选择的经过实战验证的方法。我们详细介绍了针对 Lambda 风格任务与长期运行的微服务的策略。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/graalvm-jvm/featured.jpg"/></item><item><title>全网最硬核 JDK 分析 - 4. OpenJDK JVM 内存结构实现</title><link>https://neatguycoding.com/zh-cn/posts/tough-jdk-4-jvm-memory/</link><pubDate>Tue, 28 Mar 2023 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/tough-jdk-4-jvm-memory/</guid><description>一次全面深入的 JVM 内存架构剖析，涵盖堆内存、元空间、线程栈以及压缩对象指针。本文从内存分配流程、Native Memory Tracking 出发，并通过 jol、jhsdb、JFR 等工具示例，帮助理解 JVM 内存管理内部机制。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/tough-jdk-4-jvm-memory/featured.jpg"/></item><item><title>解决神秘的 JVM Safepoint 问题：从问题到解决方案的探索之旅</title><link>https://neatguycoding.com/zh-cn/posts/log-copy-issue/</link><pubDate>Sun, 19 Jun 2022 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/log-copy-issue/</guid><description>深入探讨诊断和解决生产 JVM 问题，其中应用在每小时日志同步任务期间会冻结。我们探索 safepoint 分析、JVM 日志输出阻塞、异步日志实现和 WebFlux 优化以实现完整解决方案。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/log-copy-issue/featured.jpg"/></item><item><title>解决 JVM Safepoint 延迟：从 EFS 集成到异步日志的探索之旅</title><link>https://neatguycoding.com/zh-cn/posts/async-log-issue/</link><pubDate>Thu, 16 Jun 2022 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/async-log-issue/</guid><description>深入调查升级到 Java 17 并实施 AWS EFS 集中式日志收集后出现的神秘 JVM safepoint 延迟问题。我们发现日志输出期间的文件 I/O 阻塞如何冻结整个 JVM 进程，并通过异步日志和正确的 WebFlux 实现解决了这个问题。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/async-log-issue/featured.jpg"/></item><item><title>全网最硬核 JDK 分析 - 3. Java 新内存模型解析与实验</title><link>https://neatguycoding.com/zh-cn/posts/tough-jdk-3-jmm/</link><pubDate>Mon, 28 Mar 2022 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/tough-jdk-3-jmm/</guid><description>从规范到实现深入探讨 Java 内存模型（JMM），涵盖内存屏障、CPU 重排序和 Java 9+ VarHandle API。了解一致性、因果性、共识性，以及 volatile、final 和其他同步机制在底层的工作原理，并提供实用的 jcstress 示例。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/tough-jdk-3-jmm/featured.jpg"/></item><item><title>全网最硬核 JDK 分析 - 1. TLAB 全面解析</title><link>https://neatguycoding.com/zh-cn/posts/tough-jdk-1-tlab/</link><pubDate>Wed, 03 Feb 2021 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/tough-jdk-1-tlab/</guid><description>深入探讨 JVM 的线程本地分配缓冲区（TLAB）机制，涵盖设计原理、实现细节、性能优化和源代码分析。了解 TLAB 如何提高多线程环境中的内存分配效率，并掌握 TLAB 调优技术。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/tough-jdk-1-tlab/featured.jpg"/></item><item><title>OpenJDK 11 JVM 日志：新统一配置完整指南</title><link>https://neatguycoding.com/zh-cn/posts/jvm-log/</link><pubDate>Thu, 06 Feb 2020 00:00:00 +0000</pubDate><guid>https://neatguycoding.com/zh-cn/posts/jvm-log/</guid><description>了解 OpenJDK 11 如何通过其统一配置系统彻底改变 JVM 日志记录。学习用于 GC 分析、类加载和运行时编译的基本日志标签，以及使用 jcmd 进行实时性能调优的动态日志配置。</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://neatguycoding.com/posts/jvm-log/featured.jpg"/></item></channel></rss>