Distinguishing Thread.start() and Thread.run() in Java

Invoking start() on a Thread instance initiates a new execution path, allocating a distinct system thread. Once scheduled by the operating system, this newly spawned thread independently executes the logic defined within the run() method. Repeated invocations of start() on the same Thread object trigger an IllegalThreadStateException, as the th ...

Posted on Fri, 06 Nov 2026 16:38:18 +0000 by cyrenity

Comprehensive Overview of Java Threading Concepts

Java Threading Prior to JDK 1.2, Java threading was implemented using green threads, which are user-level threads that operate independently of the operating system. In this model, the JVM simulated multithreading behavior rather than relying on native OS capabilities. Green threads had limitations such as inability to utilize asynchronous I/O ...

Posted on Tue, 03 Nov 2026 16:28:54 +0000 by madhukar_garg

Java Virtual Machine Class Loading Mechanism

Java Virtual Machine Class Loading Mechanism Class Loading Overview The class loading mechanism in Java involves three main steps: Loading class files into memory through the class loading subsystem Creating corresponding runtime data structures in the method area Generating a java.lang.Class object in the heap to serve as an entry poi ...

Posted on Fri, 30 Oct 2026 16:01:42 +0000 by yogicasey

JVM Class Loading Subsystem Overview

Class Loading Subsystem Role of the Class Loader Responsible for loading class files from file systems or networks Class loading is distinct from execution, which is handled by the Execution Engine Loaded class metadata is stored in the Method Area Class Loading Process Consider the following simple Java class: public class HelloLoader { ...

Posted on Thu, 29 Oct 2026 16:10:12 +0000 by DaiLaughing

Core JVM Concepts Frequently Asked in Technical Interviews

JVM Memory Model The Java Virtual Machine (JVM) divides its managed memory into distinct runtime data areas during program execution: Shared across threads: Heap, Method Area Thread-local: Program Counter Register, JVM Stack, Native Method Stack Program Counter Register A small memory space that acts as a pointer to the current bytecode instr ...

Posted on Sat, 24 Oct 2026 16:32:07 +0000 by nokicky

Comprehensive Overview of the Java Virtual Machine

Understanding the Java Virtual Machine The Java Virtual Machine (JVM) is a pivotal component for Java developers, serving as an abstraction layer between Java bytecode and the underlying operating system. This overview provides a foundational understanding of JVM internals, essential for performance tuning and deep-level programming insights. W ...

Posted on Thu, 22 Oct 2026 16:53:08 +0000 by hooch_au78

Tomcat Virtual Host Configuration, JVM Memory Management, and Memcached Session Clustering

To implement multiple virtual machines in Tomcat, follow these steps: Modify the configuration file [root@server conf]# pwd /usr/local/tomcat/conf [root@server conf]# vim server.xml Add the following configuration within the section: <host appbase="/data/webapps1/" autodeploy="true" name="webapp1.example.com&quo ...

Posted on Sat, 17 Oct 2026 16:25:17 +0000 by uniboy86

JVM Method Area Deep Dive: Architecture, Evolution, and Memory Management

Method Area Fundamentals The Method Area serves as a shared memory region across all threads within the JVM, analogous to the Java Heap. It materializes during JVM startup and, like the heap, can occupy non-contiguous physical memory addresses. Administrators can configure either fixed or dynamically expandable sizing. The capacity of this regi ...

Posted on Fri, 16 Oct 2026 16:39:37 +0000 by danzene

Tomcat JVM memory configuration and parameter explanation

In Java web development, correctly configuring Tomcat's memory is crucial for performance. Understanding this requires a grasp of JVM fundamentals, memory management, JVM parameters, and Tomcat-specific settings. JVM memory management When an application server starts, all referenced classes are loaded into memory via ClassLoader. JVM memory is ...

Posted on Thu, 15 Oct 2026 16:36:43 +0000 by benz862

JVM Class Loading Subsystem: Mechanism and Architecture

Overview of the Class Loading Subsystem The JVM’s class loading subsystem is responsible for dynamically loading bytecode into memory, verifying its integrity, and preparing it for execution. It operates independently of the execution engine, which determines whether a class can be run. The subsystem does not handle object instantiation — that ...

Posted on Tue, 13 Oct 2026 16:41:05 +0000 by ruttiger