CodeOnCode
Author

CodeOnCode

The road is long and arduous, but keep moving to reach your goal.

6
Articles
0
Likes
20
Views
0
Comments
Recent Articles

Latest from CodeOnCode

6 recent articles
CodeOnCode
CodeOnCode
Sep 16, 2026 · Backend Development

G1 Young Gen Tuning: Why Fixing Size Backfires & How to Adapt

This article explains why fixing G1's young generation size with -Xmn or percentage flags often harms performance, and demonstrates how to tune young GC by analyzing pause targets, Eden sizing, TLAB/PLAB logs, and object promotion patterns to let G1's adaptive sizing balance throughput and latency.

G1 GCGC logsJava performance
0 likes · 16 min read
G1 Young Gen Tuning: Why Fixing Size Backfires & How to Adapt
CodeOnCode
CodeOnCode
Sep 9, 2026 · Backend Development

Beyond Pause Times: Deep Dive into G1 GC Log Analysis for Java Performance Tuning

This article teaches how to analyze G1 GC logs beyond simple pause times by breaking down phase timings, heap changes, GC causes, and concurrent marking overhead, then mapping log signals like high Update RS or Object Copy to concrete code-level issues such as excessive reference writes, humongous allocations, or weak reference abuse.

G1 GCGC logsJVM tuning
0 likes · 27 min read
Beyond Pause Times: Deep Dive into G1 GC Log Analysis for Java Performance Tuning
CodeOnCode
CodeOnCode
Aug 14, 2026 · Operations

Humongous Objects in G1 GC: Why They Fear Contiguous Space and Hurt Performance

Humongous objects in Java's G1 collector are large allocations that require a contiguous set of heap regions, bypass the young generation, inflate old‑generation usage, trigger frequent Young, Mixed or Full GCs, and can dominate CPU and pause time unless the code is refactored or the region size is tuned.

G1GCHumongous
0 likes · 16 min read
Humongous Objects in G1 GC: Why They Fear Contiguous Space and Hurt Performance
CodeOnCode
CodeOnCode
Aug 6, 2026 · Backend Development

Why Mixed GC Doesn’t Empty the Old Generation in G1

Mixed GC in G1 only reclaims a portion of the Old generation that fits within the pause‑time budget, so seeing the Old region size stay high after a mixed pause does not mean G1 has failed, but rather reflects collection cost, survival rates, and budgeting constraints.

G1 GCJVMJava
0 likes · 16 min read
Why Mixed GC Doesn’t Empty the Old Generation in G1
CodeOnCode
CodeOnCode
Jul 6, 2026 · Backend Development

Big‑Sale Load Test: Why You Shouldn't Rush to Tune JVM Parameters

During a major sales promotion, a sudden P99 latency jump can tempt teams to tweak JVM settings, but this article shows how to build a three‑layer evidence chain—GC logs, JFR, business and container metrics—to confirm whether the JVM is truly at fault before making any parameter changes.

Big SaleGCJFR
0 likes · 16 min read
Big‑Sale Load Test: Why You Shouldn't Rush to Tune JVM Parameters