Explaination :
- A Virtual Machine is a software implementation of a physical machine.
- Java was developed with the concept of WORA (Write Once Run Anywhere), which runs on a VM.
- The compiler compiles the Java file into a Java .class file, then that .class file is input into the JVM, which Loads and executes the class file.
- Class Loader Subsystem
- Java's dynamic class loading functionality is handled by the class loader subsystem. It loads, links. and initializes the class file when it refers to a class for the first time at runtime, not compile time.
- Runtime Data Area
- Method Area
- Heap Area
- Stack Area
- PC Registers
- Native Method stacks
- Execution Engine
- The bytecode which is assigned to the Runtime Data Area will be executed by the Execution Engine. The Execution Engine reads the bytecode and executes it piece by piece.