Analyzing JVM Garbage Collection Logs

JVM Garbage Collection Log Parameters Garbage Collection logs provide insights into JVM memory management and cleanup strategies. Key parameters include: -XX:+PrintGC - Enables basic GC logging (similar to -verbose:gc) -XX:+PrintGCDetails - Provides detailed GC information -XX:+PrintGCTimeStamps - Adds timestamps in relative format -XX:+PrintG ...

Posted on Mon, 03 Aug 2026 16:09:54 +0000 by PaulRyan

Java Virtual Machine Deep Dive: Core Concepts and Runtime Structure

What Is the JVM? The Java Virtual Machine (JVM) is the cornerstone of Java's cross‑platform capability. It executes compiled Java bytecode and translates it into native machine instructions. The most widely used JVM implementation is HotSpot (originally from Sun Microsystems). Other notable implementations include JRockit (BEA) and J9 (IBM). JD ...

Posted on Fri, 31 Jul 2026 16:53:59 +0000 by USMarineNCO

Java Core Concepts: Method Overloading, Memory Allocation, and Object Construction

Method Overloading Method overloading occurs when a class contains multiple methods sharing the same name but possessing unique parameter lists. A parameter list is considered unique if it differs in any of the following criteria: The data types of the parameters. The total number of parameters. The sequence or order of the parameters. Object ...

Posted on Sun, 26 Jul 2026 17:13:35 +0000 by HGeneAnthony

Mechanisms Behind ThreadLocal Memory Leaks

Internal Storage ArchitectureA ThreadLocal does not store values directly. Instead, it relies on a three-tier reference chain within the JVM, which is the root cause of potential memory leaks:Thread: Each thread instance contains a member variable of type ThreadLocalMap.ThreadLocalMap: This map stores data in an array of Entry objects.Entry: Th ...

Posted on Fri, 24 Jul 2026 17:12:21 +0000 by Lautarox

Java Class Loader Mechanism

Class loaders are a critical component of the Java Virtual Machine (JVM), responsible for loading Java class files into memory so that they can be executed by the JVM. They serve several key functions: Dynamic Class Loading: The class loading mechanism in Java allows classes to be loaded dynamically at runtime based on need. This enhances prog ...

Posted on Fri, 24 Jul 2026 16:07:07 +0000 by lth2h

JVM Runtime Memory Architecture: Data Regions Explained

Java Virtual Machine specification defines multiple runtime memory regions utilized during program execution. Certain regions are created at JVM startup and persist until termination, while others are dedicated to individual threads. Thread-specific areas are instantiated upon thread creation and released when threads terminate. Memory Regions ...

Posted on Wed, 22 Jul 2026 16:10:07 +0000 by mbh23

JVM Lifecycle: Startup, Execution, and Termination

Startup Java virtual machine initialization occurs when the bootstrpa class loader creates an initial class specified by the JVM implementation. Custom classes are loaded by the system class loader, with the core Object class being loaded first by the bootstrap loader due to inhreitance hierarchy requirements. Execution During runtime operation ...

Posted on Sat, 18 Jul 2026 17:11:42 +0000 by Shamrox

Understanding JVM Garbage Collection: Memory Allocation and Object Lifecycle

Heap Memory Structure In the generational model: The Eden zone, s0 ("From"), and s1 ("To") zones comprise the Young Generation, while the Tenured zone represents the Old Generation. In most scenarios, new objects are initially allocated in the Eden region. Following a Young Generation garbage collection, surviving objects m ...

Posted on Thu, 16 Jul 2026 17:21:54 +0000 by sridsam

Using Arthas for Java Debugging and Common Commands

This article demonstrates how to use Arthas, a popular diagnostic tool for Java appplications, to troubleshoot common production issues. We'll walk through a sample project with three problematic endpoints and then show how Arthas commands help identify and fix them. Setting Up a Demo Application First, create a Spring Boot application with thr ...

Posted on Wed, 15 Jul 2026 16:13:33 +0000 by marco839

Java Runtime Memory Behavior and Core Language Mechanics Explained

Object Arrays and Heap Allocation When declaring an object array like String[] arr = new String[5], the JVM allocates a contiguous block in the heap to store five references, not five String objects. Each reference is initialized to null. The array object itself — including its length metadata and reference slots — resides entirely on the heap. ...

Posted on Sun, 12 Jul 2026 16:15:27 +0000 by dvonj