Java Virtual Machine (JVM) is an abstraction layer between a Java application and the underlying platform. it is acts as a “virtual” machine, to the bytecodes comprising the program.
JRE stands for Java Runtime Environment,which provides run time enviorment to run java applications. It is the combination of JVM and set of libraries to which will be used to run application.
JDK stands for Java Development Kit. It is a software development environment, used to develop Java applications and applets. It contains JRE(Java Runtime Environment) and development tools to develop applications.