Tech Master Tutorials
Email Facebook Google LinkedIn Pinterest Twitter
Home Java Java 8 Java Interview Questions Java8 Interview Questions Object Oriented Programming in Java JVM Java Programming

How Java programs are Platform Independent?

JVM makes the Java platform independent. Java program can be run on any machine that contains JVM because java programs are initially compiled into byte code language instead of machine level language.
Byte code is read by JVM and converted into machine level code depending on the machine. That's how JVM makes Java platform independent.

Compiling and running a java program involves below steps :

  • Compile Java programs using JAVAC compiler.
  • Upon compilation byte code is generated instead of machine specific code.
  • Byte code is compiled using JVM which generates the machine specific code.
  • Machine code is run on the operating system.
Initially .java programs are compiled by the JAVAC compiler into another .class file format which contains the byte code language corresponding to the .java.
The .class file get is given to the Java Runtime Environment (JRE) which contains Java Virtual Machine (JVM), JVM checks the byte code using Code Verifier then passes to Just-in-time (JIT) compiler to create a binary on a machine.
A number of things happens inside JVM like loading, linking and initialization. Go through the JVM section(JVM Details) to know more.


Following is the Java program execution workflow :
.java → JAVAC Compiler → .class → JVM(Class Loader → Code Verifier → JIT) → Binary Code → Execution