Think of it that way:
- JVM:
Java Virtual Machine. The program that interpretes Java bytecode stored in .class files. In Windows, java.exe.
- JRE: Java Runtime Environment. A JVM is not enough. You need an implementation of the core Java APIs. As you need in C the shared libraries installed in your system.
In short:
JRE = JVM + core Java APIs (in jar format) + utils