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−
The memory in the JVM is divided into five different parts namely− Method area− The method area stores the class code − code of the variables and methods.
Heap − The Java objects are created in this area.
Java Stack− While running methods the results are stored in the stack memory. PC registers− These contain the address of the instructions of the methods.
Native method stacks− Similar to Java stack, native methods are executed on the Native method stacks.