1.JVM-Java Virtual MACHINEJVM is what we often call Java VMS, which is the most central part of the entire Java implementation across platforms, All Java programs are first compiled into a. class file, which can be executed on a virtual machine, which means that class does not correspond directly to the machine's operating system, but instead interacts with the operating system indirectly by the virtual machine, which interprets the program to the local system for execution.
2.JRE--Java Runtime environmentjre refers to the Java Runtime environment. The JVM cannot be executed as a class, because the JVM needs to invoke the class library lib that is needed to interpret the classes. In the JDK installation directory you can find the JRE directory, there are two folders Bin and Lib, here you can think that the bin is Jvm,lib is the JVM to work the class library, and the JVM and Lib are called the JRE. So, after you've finished compiling the Java program into. class, you can package the. class file with the JRE and send it to your friends so that your friends can run your program. (There are java.exe running. Class in the JRE)3.JDK--Java development kitjdk is the Java SDK, basically everyone who learns Java will first install a JDK on the machine, which part does he include? Let's take a look at the JDK installation directory. Under the directory there are six folders, a SRC class library source code compression package, and several other declaration files. One of the four folders that really worked when running Java was the following: Bin, include, Lib, JRE. Now we can see a relationship where the JDK contains the JRE, and the JRE contains the JVM. Bin: The main thing is the compiler (Javac.exe) Include:java and JVM interaction with the header file Lib: Class library Jre:java operating Environment (note: Here the bin, Lib folder and the bin in the JRE, Lib is different) in general the JDK is used for Java program development, while the JRE is a function that can only run class without compiling.
Other Ides such as Eclipse, idea, and so on have their own compilers instead of the JDK bin directory, so you'll find them only asking you to check the JRE path when installing.
Source: http://www.cnblogs.com/myitm/archive/2011/05/03/2035942.html
JVM jdk JRE difference (RPM)