Twelve Years in the Making: JDK 28 Ships Value Classes Preview
A technical deep dive into the features shaping the next Java feature release, due March 2027 — including the twelve-year backstory behind its headline feature. JDK 28 is
How garbage collectors work and how to tune them: G1, ZGC, SerialGC, Node.js GC and writing your own collector.
A technical deep dive into the features shaping the next Java feature release, due March 2027 — including the twelve-year backstory behind its headline feature. JDK 28 is
Can't keep up! is not a hardware message. It's the server telling you a tick took longer than 50ms, and almost every cause is a default nobody changed. Here's what actually moves MSPT, with the flags that are now wrong and the setting that isn't where every guide says it is.
Your server dropped to 12 TPS. You copied Aikar's flags. You upgraded Java. Nothing changed. That's because JVM flags don't fix plugin bugs. Here's how to find what's actually killing your tick budget.
Every six months the same thread appears and nobody maps the JVM engineering onto what a Minecraft server actually does. This does — version by version, with the flag most guides still tell you to set that will eventually stop your server from booting.
Node.js gives you four different ways to watch the garbage collector work, from a single CLI flag to a dedicated GCProfiler class.
This guide walks through designing a fixed-size memory pool, implementing reference counting with cycle detection, coding Mark & Sweep, Mark & Compact, and Copying GC algorithms, and wiring root object identification and sweeping into a working CustomGarbageCollector class.
You tuned G1 flags for a week. Your pod has one CPU, which means the JVM quietly picked a single-threaded collector at startup and ignored every flag you set. Here is the OpenJDK source that made that decision.