The JDK is the
Java Development Kit: everything you need to develop programs in Java (the compiler and other tools).
The JRE is the Java Runtime Environment: everything you need to run Java programs.
The JVM is the Java Virtual Machine, which is the core part of the JRE that actually runs Java code.
By the way, this question has been asked many times before on the forums. If you do a search, you'll find many previous answers. For example:
difference between jdk and jre..?
jdk v/s jre
Difference between JVM and JRE
difference between jvm, jre, jdk and sdk
difference between JDK, JRE, JVM, plugin
etc.
Also our
Java Beginners FAQ has an answer.