Java Aug 19, 2026 4 min read
JVM Profiling and JFR for Production Backends
Use Java 25 Flight Recorder to investigate CPU, allocation, GC, locks, I/O, and virtual threads without overstating profile evidence.
Category
31 articles in this category. Use this page as a focused path through related backend concepts.
Java Aug 19, 2026 4 min read
Use Java 25 Flight Recorder to investigate CPU, allocation, GC, locks, I/O, and virtual threads without overstating profile evidence.
Java Aug 19, 2026 5 min read
Turn JVM performance hypotheses into controlled canary changes with representative load, rollback, resource budgets, and user-outcome verification.
Java Aug 19, 2026 5 min read
Diagnose Java 25 G1 young, marking, mixed, evacuation, and humongous-object behavior before making minimal evidence-backed tuning changes.
Java Aug 19, 2026 4 min read
Use Java 25 class histograms and heap dumps to test retention and memory-leak hypotheses while controlling pause, disk, and data exposure.
Java Aug 19, 2026 5 min read
Read Java 25 garbage collection logs to distinguish allocation pressure, live-set growth, concurrent work, pauses, and Full GC safely.
Java Aug 19, 2026 5 min read
Diagnose Java 25 tiered compilation, compilation queues, deoptimization, code cache pressure, warmup, JFR, and AOT profile boundaries.
Java Aug 19, 2026 4 min read
Separate Java heap, HotSpot native memory, metaspace, buffers, stacks, RSS, and container OOM evidence with Java 25 NMT.
Java Aug 19, 2026 4 min read
Diagnose Java 25 platform and virtual threads, locks, safepoints, CPU saturation, pinning, and dependency waits with bounded evidence.
Java Aug 19, 2026 5 min read
Diagnose production JVM performance from user impact through CPU, garbage collection, memory, threads, containers, and durable outcomes.
Java Aug 19, 2026 5 min read
Diagnose generational ZGC allocation headroom, concurrent work, stalls, heap sizing, and latency-throughput tradeoffs on Java 25.
Java Aug 18, 2026 4 min read
Compose Java CompletableFuture stages deliberately across executors, failures, timeouts, cancellation, context, and external side-effect boundaries.
Java Aug 18, 2026 5 min read
Build a practical model of tasks, threads, shared state, race conditions, thread safety, and bounded concurrency in Java backend services.
Java Aug 18, 2026 6 min read
Run six deterministic Java concurrency scenarios to compare fixed pools, virtual threads, resource guards, deadlines, and cooperative cancellation.
Java Aug 18, 2026 4 min read
Design Java executors around admission, worker, queue, rejection, shutdown, and downstream capacity instead of treating threads as free throughput.
Java Aug 18, 2026 4 min read
Propagate Java interruption and request deadlines cooperatively across executors, blocking calls, cleanup, Spring boundaries, and durable effects.
Java Aug 18, 2026 4 min read
Understand atomicity, visibility, ordering, data races, volatile fields, safe publication, and happens-before reasoning in Java backend code.
Java Aug 18, 2026 4 min read
Separate Java 25 Scoped Values from JDK 26 preview Structured Concurrency and reason about bounded context, task lifetime, failure, and cancellation.
Java Aug 18, 2026 5 min read
Use Java 21 virtual threads for blocking backend tasks while keeping CPU, connection pools, downstream limits, context, and pinning explicit.
Java Aug 18, 2026 5 min read
Diagnose Java thread starvation, unbounded queues, lock contention, virtual-thread pinning, downstream overload, and failed cancellation with evidence.
Java Aug 18, 2026 5 min read
Compare Java monitors, ReentrantLock, CAS, atomic variables, lock scope, fairness, and compound invariants through backend examples.
Java Jul 1, 2026 5 min read
Learn how HashMap collision handling works in Java, including buckets, hashCode, equals, tree bins, load factor, bad keys, and performance.
Java Jul 1, 2026 5 min read
Learn Java equals and hashCode contracts, why they matter for HashMap and HashSet, common mistakes, records, mutability, and testing.
Java Jun 30, 2026 4 min read
Compare HashSet and TreeSet in Java by ordering, uniqueness, contains performance, null handling, memory cost, and practical backend use cases.
Java Jun 30, 2026 4 min read
Compare Queue and Deque in Java, including FIFO queues, double-ended operations, ArrayDeque, LinkedList, stack usage, and practical backend defaults.
Java Jun 30, 2026 4 min read
Compare TreeMap and HashMap in Java by key ordering, lookup complexity, range queries, null handling, memory overhead, and backend use cases.
Java May 10, 2026 6 min read
A practical reference for Java collection time complexity, including ArrayList, LinkedList, HashMap, TreeMap, HashSet, and PriorityQueue.
Java Mar 15, 2026 4 min read
A practical explanation of ConcurrentHashMap in Java, including thread safety, atomic methods, iteration behavior, and common mistakes.
Java Mar 8, 2026 4 min read
Learn what HashMap load factor means in Java, how it affects resizing, memory usage, collision risk, and lookup performance.
Java Mar 1, 2026 4 min read
Compare ArrayList and LinkedList in Java by access patterns, insertion cost, memory overhead, and practical backend usage.
Java Jan 14, 2026 4 min read
Learn how Java PriorityQueue works, when to use it, how ordering is defined, and common pitfalls around iteration and custom comparators.
Java Jan 8, 2026 4 min read
Compare HashMap and Hashtable in Java, including synchronization, null keys, performance, legacy status, and modern alternatives.