Intro of JAVA
Stands for Java development kit.It contains tools needed to develop the Java programs,and JRE to run the program.The tools include compiler(javac),an archiver(jar),a documentation generator(javadocs) etc.to complete the development of application. Jdk is mainly targeted for java development.i.e you can create a java file ,compile a java file and run a java file.In short we can say,JDK=JRE+Development tools.
JVM(Java virtual machine).It is a software.JVM called virtual because its not physically present i.e it is a simulated computer inside computer and it can also complete important work of machine hence called virtual machine. It is a specification that provides run time environment in which java byte code can be executed.JVM is platform dependent.It can perform following tasks:
JRE contains JVM,class libraries and another supporting classes.It does't contain any development tools such as compiler,debbuger etc.Actually JVM runs program and it use class libraries and other supporting files provided in JRE.If you want to run any program,you need to have JRE installed in system first.It's physically exists.In short,JRE=JVM+Java package classes+Run time loader.