Opening Hours :7AM to 9PM
JVM abbreviate Java virtual machine. It is a software comes along with jdk software.
Jvm architecture mainly categorized into three parts
1.Class Loader Sub System
2.Runtime Memory Area
3.Execution Engine
Class loader sub system is a special program which loads the .class file into method area at time of execution.
The entire properties of java program is stored in the five memory locations.
In which all the properties of class will be stored except non-static variables and objects(static blocks ,static variables, static and non-static methods will be stored in the method area.
In which object will be stored (non-static variable of a class).
In which object references ,list of executable instructions will be stored.
Which contains address of the next executable instruction.
Which holds the native code (other then java code),this memory area depends on native method library.(which holds library properties of native code.
Java native interface will access interface between native method area and native method library.
This is heart of engine JVM, which mainly contains two components
1.Interpreter
2.JIT compiler
Interpreter:
Interpreter will convert the one by one byte code instruction into machine level instructions .but the main disadvantage is slow processing to overcome above disadvantage JIT compiler was introduced.
JIT Compiler(Just in time compiler):
It is special type of interpreter used to speed up the execution of java program. If any java program executed for the first time the interpreter comes into picture, from second time anwords JIT compiler comes into picture.