JVM includes a Just in Time (JIT) compiler tool that turns all Java source code into a machine language that is low-level compatible. As a result, it performs faster than the standard application.  JRE includes class libraries as well as other JVM-related items. However, it lacks any java programming tools, such as a compiler or debugger.  JDK includes the tools needed to create Java programmes, which are then executed by JRE. It includes a compiler, a Java application launcher, and a viewer for applets.