JRE - JRE stands for Java Runtime Environment.
JRE is the combination of JVM, Java Packages Classes (like util, math, lang, awt, swing etc) and runtime libraries.
JRE is the box and JVM is the content of box.
Simply we can say JRE is a combination of JVM and rt.jar
JVM - JVM stands for JAVA Virtual Machine.
JVM runs java program and it uses class libraries and other supported files which is provided in JRE.
JVM does not contain development tools such as compiler, debugger, etc.
JVM performs following tasks:-
Provides runtime environment
JDK - JDK stands for Java Development Kit.
JDK contains JRE and development tools. JRE contains JVM and class libraries.