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.
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 )