The differences and connections between JDK, JRE and JVM

Source: Internet
Author: User
Tags java se

In order to learn the database, reinstall the system, before the previous use of Eclipse, is now ready to change to MyEclipse, which of course need to reset the environment variables, write down the JDK, JRE and JVM differences and contact for exchange reference.

First of all, the JDK
The JDK (Java Development Kit) is the Java Language Software Development Kit (SDK).
The JDK is the core of the entire Java, including the Java Runtime (Java Runtime Envirnment), a stack of Java tools (JAVAC/JAVA/JDB, etc.), and a Java-based class library (the Java API).
The following three versions are available:
SE (J2SE), Standard Edition, is a version we typically use, starting with JDK 5.0 and renaming Java SE.
EE, Enterprise Edition, Business Edition, uses this JDK to develop the Java EE application, starting with JDK 5.0, and renaming it to the same.
ME (J2ME), Micro Edition, primarily for Java applications on mobile devices, embedded devices, starting with JDK 5.0, renamed Java ME.

to talk about the JRE
JRE for the Java Runtime environment abbreviation, Java Runtime environment (including Java Plug-in) is a sun product, consisting of two parts: java Runtime Environment and Java plug-in . The Javaruntimeenvironment (JRE) is the Java platform on which applications can be run, tested, and transmitted. It includes the Java Virtual Machine (JVM), the Java Core Class library, and the supporting files. It does not contain development tools (JDK)-compilers, debuggers, and other tools . The JRE requires auxiliary software--java plug-in--to run applets in the browser.

Finally, check out the JVM.
The JVM, the Java Virtual machine, is a specification for computing devices, a fictional computer that is implemented by simulating various computer functions on a real computer.
A very important feature of the Java language is its independence from the platform. The use of Java virtual machines is the key to achieving this feature. General high-level languages if you want to run on a different platform, you need to compile at least a different target code. When the Java language virtual machine is introduced, the Java language does not need to be recompiled when it runs on different platforms. The Java language uses a Java Virtual machine to mask information related to a specific platform, allowing the Java language compiler to generate only the target code (bytecode) that runs on a Java virtual machine, which can be run unmodified on multiple platforms. When a Java virtual machine executes a bytecode, it interprets the bytecode as a machine instruction execution on a specific platform. This is why Java can be "compiled once and run Everywhere".

Here is the diagram of the three:

The reality of our development is that we have developed our own Java programs using the JDK (calling the Java API), compiled our text Java files into Java bytecode using the compiler program in the JDK (Javac), and run these Java bytecode on the JRE, The JVM parses these bytecode and maps it to a CPU instruction set or system call to the OS.

The content of this article is referenced:

The differences and connections between JDK, JRE and JVM

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.