How many types of memory areas are allocated by JVM in java?

Java Virtual Machine is a program/software which takes Java bytecode (.class files) and converts the byte code (line by line) into machine understandable code.

JVM contains a module known as a class loader. A class loader in JVM loads, links and, initializes a program. It −

  • Loads the class into the memory. 

  • Verifies the byte code instructions.

  • Allocates memory for the program.

JVM memory locations

JVM has five memory locations namely −

  • Heap − Runtime storage allocation for objects (reference types).

  • 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 Registers − Program Counter Registers contains the address of an instruction that JVM is currently executing.

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

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

Updated on: 14-Oct-2019


Kickstart Your Career

Get certified by completing the course

Get Started