JVM plays an important role in execution of java program
Posted: Apr 12, 2017
To write and execute a program we need the following
- Editor– To type a program into, for example notepad,notepad++ etc.
- Compiler – To convert high level language program into machine code
- Linker – To combine different program files reference in your main program together.
- Loader – To load the files from the secondary storage device like Hard Disk, Flash Drive, CD into RAM for execution. The loading is automatically done when we execute our code.
- Execution – Actual execution of the program which is handled by OS(Operating System) & processor.
Java code compilation and execution :
1. Once we write a program, we have to save with the class name.java.
Best core java training in bangalore
2.Once we execute a program.java file converts into.class file
4.JVM convert the.class file into machine code.
5.JVM divide the memory into stack and memory memory.
4.Then JVM call the class loader, class loader go back to the main class and find the all stack members and load into heap memory.
5.Again control go back to the JVM, it loads the all static members into stack.
6.Then it try to identifies the main method and start the execution.
7.If main method is not there, then it will through the error and execution will stop.
8.Once execution done JVM call garbage collector to clear the memory.
What is JVM?
Java course in bangalore
JVM is known as Java Virtual Machine. It is the engine that executes the Java Code. It converts bytecode into machines code.
- Java compiler produces code for a Virtual Machine.
- JVM compiled java code into bytecode. This bytecode gets interpreted on machines
- Between host system and Java source, Bytecode is an intermediate language.
- JVM is responsible for allocating a memory space.
JVM Architecture :1. Classloader:
Classloader is a subsystem of JVM which is used to load the class files into the memory.2. Class Area(Method Area):
Class Area stores per-class structures such as the runtime constant pool, fields and methods, code for methods. Java training center bangalore3. 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 called. A frame is destroyed when its method call completes.  Native Method Stack:
Native Method Stack contains all the native methods used in the application.5. Heap:
Heap is the runtime data area in which objects are allocated and stored.6. Program Counter Register:
PC (program counter) register contains the address of the Java virtual machine instruction currently being executed. Advance java training in bangalore7. Execution Engine :
Execution Engine contains :
i) A virtual processor
ii) Interpreter: Read bytecode stream then execute the instructions.
iii) 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.Working of JVM:
The JVM performs following works :
- Loads the java code
- Verifies the code
- Executes the code
- Provides runtime environment
Java is both compiled and interpreted language :
Compiler : A compiler is a program which converts a program from one level of language to another. Example conversion of C++ program into machine code.
The java compiler converts high level java code into bytecode. Java/j2ee classes bangalore
Interpreter : A interpreter is a program which converts a program at one level to another programming language at the same level. In Java, the JVM converts the bytecode into the native machine code
Hence java is both compiled and interpreted interpreted language.
In JVM also JIT (Just In Time)compiler is available which converts the some part of byte code to native machine code to increase the performance.
A Real Time Software Training Institute 100% Guaranteed JOB Support Get Real Time Training from Industry Experts Book Free Demo Class