JVM or Java Virtual Machine

Updated: Apr 11, 2022

Java Virtual Machine is a specification to provide the runtime environment on which a bytecode can be executed. It provide class loader to load a class, runtime and executed the bytecode. The following is the architecture diagram of JVM.

Image is from : javatpoint.com

  • Classloader − Loads the class file into the JVM.

  • Class Area − Storage areas for a class elements structure like fields, method data, code of method etc.

  • Heap − Runtime storage allocation for objects.

  • Stack − Storage for local variables and partial results. A stack contains frames and allocates one for each thread. Once a thread gets completed, this frame also gets destroyed. It also plays roles in method invocation and returns.

  • PC Register − Program Counter Register contains the address of an instruction that JVM is currently executing.

  • Native method stack − It contains all the native methods used by the application.

  • Execution Engine − It has a virtual processor, interpreter to interpret bytecode instructions one by one and a JIT, just in time compiler.

0