English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
In this tutorial, you will learn about JDK, JRE, and JVM. You will also learn about the main differences between them.
The JVM (Java Virtual Machine) is an abstract machine that allows your computer to run Java programs.
When running a Java program, the Java compiler first compiles the Java code into bytecode. Then, the JVM converts the bytecode into native machine code (the instruction set executed directly by the computer CPU).
Java is a platform-independent language. This is because when you write Java code, it is ultimately written for JVM rather than physical machines (computers). Since JVM executes platform-independent Java bytecode, Java is platform-independent.
If you are interested in learning about JVM architecture, please refer to the JVM architecture description.
JRE (Java Runtime Environment) is a software package that provides Java class libraries, Java Virtual Machine (JVM), and other components required to run Java applications.
JRE is a superset of JVM.
If you need to run Java programs without developing them, you need JRE. You can download it fromJava SE Runtime Environment 8DownloadDownload JRE from the page.
JDK (Java Development Kit) is the software development kit required to develop applications using Java. When you download JDK, you will also download JRE.
In addition to JRE, JDK also includes many development tools (compilers, JavaDoc, Java Debugger, etc.).
If you want to develop Java applications, pleaseDownload JDK.