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