JVM Internals, JDK vs JRE & ClassLoader Subsystem
Deep dive into JVM Architecture: Loading, Linking, Initialization, ClassLoader hierarchy, and Bytecode execution.
JVM Internal Architecture Subsystems
### The Three Core Subsystems of JVM
1. **ClassLoader Subsystem**: Responsible for Loading (`.class` bytecode retrieval), Linking (Verification, Preparation, Resolution), and Initialization.
2. **Runtime Data Areas**: Memory zones split into Method Area/Metaspace, Heap, Java Threads Stacks, PC Registers, and Native Method Stacks.
3. **Execution Engine**: Executes bytecode via Interpreter, JIT Compiler (C1/C2), and Garbage Collector.