One, Java in Jvm,jdk,jre relationship
The concept of virtual machines is introduced in Java, which is to add a layer of abstract virtual machines between the machine and the compiler program. This virtual machine provides a common interface to the compiler on any platform. The compiler only needs to target the virtual machine, generate code that the virtual machine can understand, and then be executed by the interpreter to convert the virtual machine code to the machine code of the particular system.
The procedure is run as follows: Java source code----> Compiler---->java bytecode (i.e. virtual instructions)---->JVM----> Interpreter-----> Binary Machine code
The JDK is a development kit that contains javase, JRE, and JVM. The JDK compiles the. java file into a. class bytecode file and the JRE calls the JVM to translate the bytecode file into a program that can be executed by the machine.
JDK7 is a superset of JRE7, containing all of the JRE7, plus tools such as compilation, debugging, and so on.
JRE 7 provides libraries, JVMs (virtual machines), and components written in other Java languages that run applets and applications.
Javac is the Java language programming compiler. The Javac tool reads the definitions of classes and interfaces written by the Java language and compiles them into a class file of byte code.
is a concept diagram of Java component technology
Getting Started with Java