1. The JDK
Java Development ToolKit (Java Development kit), the JDK is the core of the Java, including the Java Runtime environment JRE (Java Runtime Envirnment), a pile of Java tools (javac/Java/JDB, etc.) and Java foundation class library (namely the Java API including rt. Jar),
2. The JRE
Java Runtime Enviromental (Java Runtime environment), and also is the Java platform we say, all Java programs to run under the JRE, including the JVM and Java core class libraries and supporting documents, compared with the JDK, it does not contain the development tools, compilers, debuggers and other tools,
3. The JVM
Java Virtual Mechinal (Java Virtual machine), the JVM is part of the JRE, it is a fictional computer, through the actual computer simulation of various computer functions to achieve, the JVM has a complete hardware architecture, such as processors, the stack, the register, etc., but also has the corresponding instruction system, the JVM's main job is to explain their instruction set (i.e. bytecode) and mapped to the local CPU instruction set or OS system calls, the operation of the Java language is a cross-platform, is actually a different operating system, using a different JVM mapping rules, make its have nothing to do with the operating system, completed the cross-platform, the JVM on the top of the Java source file is don't care, it focuses on only class files generated by the source file (class file), the composition of the class file including the JVM instruction set, the symbol table and some accessorial information,
Java source files after the JDK compiler compiled into bytecode file (class), and then explain the JVM virtual machine in the JRE, because each operating system of each are not identical, so every operating system to install their own operating system of the JVM virtual machine, so the Java language can realize the "compile once, run everywhere",
CodePudding user response:
It seems the JRE is the core