Architectue of Java: 1. JDK, Jre and JVM 2. JVM
Architectue of Java: 1. JDK, Jre and JVM 2. JVM
Brief Outline:
1. JDK, JRE and JVM
2. JVM
This figures helps show the Architecture of Java in details. How JRE(Java Runtime Environment)
along with Compiler, Debugger and Java Applet Viewer is a part of JDK(Java Development Kit),
that you might remember we had to download before we could compile our very first HelloWorld
java program.
JVM
JVM is contained in JRE(Java Runtime Environment) , JRE is collection of software package which
are required to runs the Java program. JVM is the most important part and cornerstone of the Java
platform. It is defined as the component and collection of technologies which are wholly
responsible for:
Hardware
Operating System Independence
Small sized Code(mainly compiled)
Security measures
It contains -
• Classloader - Classloader is a subsystem of JVM that is used to load class files.
• Method(Class) Area - Class(Method) Area stores per-class structures such as the runtime
constant pool, field and method data, the code for methods.
• Heap – It is the runtime data area in which objects are allocated.
• JVM Language Stacks – Java Stack stores frames which include local variables, partial
results and plays a part in method invocation and return. Each thread has a private JVM
stack, created at the same time as thread. A new frame is created each time a method is
invoked. A frame is destroyed when its method invocation completes.
• Program Counter Registers - PC (program counter) register. It contains the address of the
Java virtual machine instruction currently being executed.
• Native Method Stacks – It contains all the native methods used in the application.
• Execution Engine – It contains :
◦ A virtual processor
◦ Interpreter
◦ Just-In-Time(JIT) compiler - It is used to improve the performance. JIT compiles parts
of the byte code that have similar functionality at the same time, and hence reduces the
amount of time needed for compilation.