Main reference

JDK: Java Development Kit

JDK The JDK is a Java development kit developed by Sun Microsystems for Java developers. JDK contains JRE. In the JDK installation directory, there is a directory named JRE, which contains two folders bin and lib. Bin can be considered as the JVM, and lib is the library required by the JVM. The JDK is the core of JAVA, with JAVA Runtime Environ vulnerabilities (JRE), a set of JAVA tools (javac/ JAVA/JDB, etc.), and JAVA libraries (JAVA apis including Rt.jar) on which JAVA is based.

  • SE(J2SE), standard Edition (J2SE), standard edition (J2SE), standard edition (J2SE)
  • EE(J2EE), enterprise Edition, using this JDK to develop J2EE applications, from JDK 5.0, renamed Java EE.
  • ③ME(J2ME), Micro Edition, mainly used for mobile devices, embedded devices on Java applications, from JDK 5.0, renamed Java ME. ####JRE: Java Runtime Environment Description: Java runtime environment

JRE is an indispensable running environment for programs written based on Java language. It also allows Java developers to distribute their applications to users for use. The JRE contains the Java Virtual Machine (JVM), Runtime Class libraries, and Java Application Launcher, which are necessary components for running Java programs. Unlike the JDK, which is well known, the JRE is a Java runtime environment, not a development environment, so it does not contain any development tools (such as compilers and debuggers), but is intended for users of Java programs.

####JVM: Java Virtual Machine

Description: Java VIRTUAL machine

JVM

The Java virtual machine (JVM) is the core part of the entire Cross-platform Implementation of Java. All Java programs are first compiled into.class class files, which can be executed on the VIRTUAL machine.

That is, classes do not correspond directly to the machine’s operating system, but interact indirectly with the operating system through the virtual machine, which interprets programs to the local system.

Only the JVM cannot execute a class, because to interpret a class the JVM needs to call the library lib, and the JRE contains the library lib.

The JVM shields platform-specific information, allowing Java programs to run unmodified on multiple platforms by generating object code (bytecode) that runs on the Java VIRTUAL machine.

#### The JDK contains the JRE, and the JRE contains the JVM.