Monday, 25 May 2015

JVM Architecture

by Ziuby


In every java application we have .java files. Let say “Test.java file, this file is given to compiler i.e javac .Then the compiler will generate java class file (Test.class). This is very beginning stage.

This .class file we have to give input to JVM(Java Virtual Machine )  .Then JVM is responsible to load and executive Test.class file. This class file act input to class loader subsystem (Module of JVM)

Assume that we have class loader subsystem. In this three various sub modules

1. Loading
2. Linking
3. Initializing

Again in loading there are multiple type like

a.       Bootstrap loader.
b.      Extention loader.
c.       Application class loader.


Again in linking there are three type like

a.       Verify
b.      Prepare
c.       Resolve

There 1st loading part is executive, then linking and at last initializing.

                                     


This means class loader subsystem is responsible to perform this above activity. As we seen above .class is input to “class loader subsystem”.


                                        

As we know class subsystem loads our class. Now for loading there is requirement memory.
Now there are various memory present inside JVM.

1.Method Area(class leave data and static variable are store.)
2.Stack Area(local variable etc.)
3.Heap Area(all objects are store in heap memory)
4.PC Register(for every thread separate PC register is there.)
5.Native Method Area(Separate run type thread )



No comments:

Post a Comment