Java Architecture
Java is a feature-rich, portable, and object-oriented programming language.
How a Java Program is compiled and executed?
Java architecture defines that program is compiled by the Java compiler in Java compile-time environment and executed by the JVM (Java Virtual Machine), which is the part of Java Run-time environment
First of all Java code is compiled by the javac compiler and it is converted into bytecodes. Bytecodes are Java's magic. Due to bytecodes, platform in-dependency is achieved by the Java applications. We can move byte codes through the internet or through any other network or we can execute these byte codes on our own local machine using Java Run time environment. It is very important to understand the architecture of Java in this tutorial, we are going to see how a Java program is compiled and executed.
![]() |
Java Architecture |
Step 1:
Create a Java source file with .java extension.
Step 2:
Compile the Java source code using Java compiler(javac) which will
create bytecode with .class extension.
Step 3:
ClassLoader reads both the user-defined and library classes
into the memory for the execution.
Step 4:
Bytecode verifier validates all the bytecode which are valid
and do not violate Java security regulations.
Step 5:
JVM(Java Virtual Machine) reads the byte code and translates into machine code for
the execution.
During the execution of the program, the code will interact to
operating system and hardware.
What JVM does?
- JVM first loading the bytecodes from the class files
- Bytecode verifier verifies the loaded bytecodes for security constraints
- JVM links the application with the required libraries
- JVM also performs memory management and Garbage Collection
- JVM provides the mechanism for managing calls between the application and the host environment.
Java Virtual Machine
- JVM is an interpreter that converts the bytecode to machine-specific instructions and executes.
- JVM is platform-specific
- Most of the modern programming languages are designed to be compiled.
- The compilation is a one-time exercise and executes faster.
- It is very difficult to execute compiled code over the internet.
- Interpreting Java bytecode facilitates its execution over a wide variety of platforms. Only JVM needs to be implemented for each platform.
- If a machine comprises JVM any java program can be executed on it. JVM differs from platform to platform and is platform-specific.