Sunday, 22 May 2016

What are JVM, JRE and JDK in Java


JVM meaning Java Virtual Machine is an abstract layer between a Java program and the platform that Java Program is running on. JVM is platform dependent and different implementations of JVMs are available for specific platforms.
A Java program can run on a specific platform only when -

  • JVM has been implemented for a platform.
  • JVM has been installed on a platform.

The JVM doesn't understand Java program as we write it, it understands the ".class" file which we get by compiling the .java file. This ".class" file contain the bytecode understandable by the JVM. It is because of JVM that Java is called a "portable language" (write once, run anywhere)


JRE meaning Java Runtime Environment provides the libraries, the Java Virtual Machine, and other components to run applets and applications written in the Java programming language.
The compiled bytecode doesn't run on CPU directly, JVM sits in between and interpret the bytecode into readable machine language for the CPU. It is actually the JRE that enables Java bytecode to run on any platform. Bytecodes, which are interpreted by the JVM, simply call classes found in the JRE when they need to perform actions they cannot do by themselves


JDK meaning Java Development Kit is a superset of the JRE, and contains everything that is in the JRE, plus development tools such as the compilers and debuggers necessary for developing applets and applications.

That's all for this topic JVM, JRE and JDK in Java. If you have any doubt or any suggestions to make please drop a comment. Thanks!

Related Topics

  1. Why main method static in Java
  2. Why file name and class name should be same in Java
  3. Java pass by value or pass by reference
  4. static in Java
  5. Core Java basics interview questions

You may also like -

>>>Go to Java Basics page

No comments:

Post a Comment