JVM (Java Virtual Machine)
JVMs are available for many hardware and software platforms (i.e.JVM is plateform dependent).JVM (Java Virtual Machine) is an abstract machine. It is a specification that provides runtime environment in which java bytecode can be executed.
What is JVM?
It is:
- A specification where working of Java Virtual Machine is specified. But implementation provider is independent to choose the algorithm. Its implementation has been provided by Sun and other companies.
- An implementation Its implementation is known as JRE (Java Runtime Environment).
- Runtime Instance Whenever you write java command on the command prompt to run the java class, and instance of JVM is created.
What it does?
The JVM performs following operation:
- Loads code
- Verifies code
- Executes code
- Provides runtime environment
JVM provides definitions for the:
- Memory area
- Class file format
- Register set
- Garbage-collected heap
- Fatal error reporting etc.
1) Classloader:
Classloader is a subsystem of JVM that is used to load class files.
2) Class(Method) Area:
Class(Method) Area stores per-class structures such as the runtime constant pool, field and method data, the code for methods.
3) Heap:
It is the runtime data area in which objects are allocated.
4) Stack:
Java Stack stores frames.It holds local variables and 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. |
5) Program Counter Register:
PC (program counter) register. It contains the address of the Java virtual machine instruction currently being executed.
6) Native Method Stack:
It contains all the native methods used in the application.
No comments:
Post a Comment