JDK -
Java Development Kit. It include the JRE and JVM, and other things (like the javac compiler).
JRE - Java Runtime Environment. Everything you need to run a java program. This include the JVM and various class files (and more, methinks).
JVM - Java Virtual Machine. The java program that runs, reads the .class files, and executes your program. It talks to the OS.
Did you have more specific questions?
also note: at the bottom of this
thread,
you should see some links to "similar threads". You may find reading some of those helpful.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors