标签: #jvm
关于 GPU、LLM、MLOps、Kubernetes 以及心态的文章 · 3 篇
Java Value Objects(JEP 401)带来的改变 —— 放弃身份标识,得到什么、失去什么
2026 年 7 月 31 日 00:45 UTC,JEP 401 Value Objects 的实现被合并进了 OpenJDK 主线。它与 JEP 539(Strict Field Initialization)打包在同一个提交里,涉及 1,888 个文件、新增约 20.8 万行代码 —— 距离 Project Valhalla 于 2014 年启动,已经过去了 12 年。本文依据 JEP 原文,梳理没有身份标识的对象究竟是什么、性能
2026-07-31 · 22 分钟阅读 #java#jvm#valhalla#jep-401#performanceKubernetes OOMKilled(137) 内存问题排查 — 在调高上限之前要确认的事
本文讨论容器以 Exit Code 137 退出、应用日志里却没有留下任何异常的情况。文章从 137 只能说明 128 加 9、也就是 SIGKILL 这一事实出发,整理了如何用一行 dmesg 区分容器 cgroup 上限导致的 OOM、节点全局 OOM 以及 kubelet 驱逐。文章用真实的命令和输出说明:JVM、Node.js 和 Python 会如何误解容器上限,为什么调大堆反而会让情况恶化,working set、RSS 和
2026-07-26 · 19 分钟阅读 #kubernetes#oomkilled#memory#jvm#cgroupJDK 26 的 final 字段修改警告 — JEP 500 到底改变了什么,以及现在该检查什么
JDK 26(2026 年 3 月 17 日 GA)通过 JEP 500《Prepare to Make Final Mean Final》,开始对通过深度反射重新赋值 final 字段的代码发出运行时警告。自 JDK 5 起,setAccessible(true) 之后的 Field.set() 就可以随意修改 final 字段,Gson 这类反序列化库和字段注入式 DI 整个都建立在这一点之上。现在的默认值是 warn,所以行为不变
2026-07-16 · 25 分钟阅读 #java#jvm#reflection#serialization#migration