JDK stands for java development kit. JDK = JRE + development tools.
JRE stands for java runtime environment. JRE = JVM + files that JVM uses at runtime + set of libraries.
JVM stand from java virtual machine. It provides runtime environment where java bytecode can be executed.