Originally posted by An Sush:
JVM is required for running Java programs and applications (like applets).
JRE is a level higher than JVM and it supports developement of Java code. You can run Java program(.class file) in JVM but cant compile (.java file). using JRE you can compile java (.java) and run(.class) it as well
I am afraid you are mistaken.
The JRE contains a JVM, so does the JDK. Both will run Java bytecode files.
The JDK contains compiling tools, libraray classes (the API) etc., as well, so you can create new bytecode files with the JDK.