I don't have "official" definitions, but here's a go ... see if it makes sense. The JVM is the Virtual Machine. Its whole job is to read byte code and interpret it. On Windows its in java.exe and javaw.exe. The JRE is the Runtime Environment. It includes the JVM plus supporting libraries. Java stuff is in jars, Windows stuff in dlls, other config files, Windows-specific files, etc. The JRE is everything you - or your customers - need to execute Java programs.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Always look on the bright side of life. At least this ad is really tiny: