Java Virtual Machine or JVM is an integral part of Java development. It is responsible for running Java programs and allows developers to use the language on different platforms, including Windows, Linux, and Mac OS. JVM is invoked by the Java application when it needs to run a Java program.  JVM provides an environment for executing Java bytecode, which can be compiled into executable files. JVM also manages the memory space the Java programs use, and resolves reference to classes, methods, and fields in the runtime environment.