JDK, JRE, JVM
JDK contains JRE, and JRE contains JVM
JDK (Java Development Kit) is a product for Java developers and is the core of the entire Java, including Java runtime environment JRE, Java tools and Java basic class libraries. Java Runtime Environment (JRE) is a collection of environments necessary to run JAVA programs, including JVM standard implementation and Java core class library. JVM is the abbreviation of Java Virtual Machine (Java Virtual Machine). It is the core part of the entire Java cross-platform implementation and can run software programs written in the Java language.
JDK
JDK is a Java development tool kit, a product of Sun Microsystems for Java developers.
JDK contains JRE. There is a directory named jre under the installation directory of JDK. There are two folders bin and lib. Here you can think that the one in bin is jvm, and the one in lib is jvm. The class library required for work, and the combination of jvm and lib is called jre.
JDK is the core of the entire JAVA, including the Java Runtime Environment JRE (Java Runtime Envirnment), a bunch of Java tools (javac/java/jdb, etc.) and Java basic class libraries (i.e. Java API includes> rt.jar).
Java Runtime Environment (JRE)
JRE is an indispensable running environment for running programs written in the Java language. It is also through it that Java developers can release the programs they develop to users for use.
JRE contains Java virtual machine (JVM), runtime class libraries and Java application launcher, which are necessary components for running Java programs.
Different from JDK, JRE is a Java runtime environment, not a development environment, so it does not include any development tools (such as compilers and debuggers), but is only for users who use Java programs.
JVM
JVM is the core part of the entire Java cross-platform implementation. All Java programs will first be compiled into .class class files, which can be executed on the virtual machine. . Class does not directly correspond to the machine's operating system, but interacts with the operating system indirectly through the virtual machine, and the virtual machine interprets the program to the local system for execution.
Only the JVM cannot produce the execution of the class, because when interpreting the class, the JVM needs to call the class library lib required for interpretation, and jre contains the lib class library. There are two folders bin and lib in the jre directory under the JDK. Here you can think of bin as jvm, and lib as the class library needed for jvm to work. The combination of jvm and lib is called jre. The JVM shields the information related to the specific operating system platform, so that the Java program only needs to generate the target code (bytecode) that runs on the Java virtual machine, and it can run on a variety of platforms without modification.
The above is the entire content of this article. I hope that the content of this article can bring some help to everyone's study or work. I also hope to support the PHP Chinese website!
For more detailed articles related to JDK, JRE, and JVM in Java, please pay attention to the PHP Chinese website!