La Máquina virtual de Java (JVM) es lo que la diferencia entre otros lenguajes de programación puesto que gracias a esto podemos hacer que nuestros programas funcione en múltiples plataformas.
JRE ya lo instala de forma nativa y lo puedes descargar desde la pagina oficial de Java.
Si descarga el JDK, este ya tiene incorporado el JRE y obviamente la máquina virtual de Java (JVM).
¿Cuál es el trabajo de la JVM?
Cuando ejecutamos programas hechos en java recorre un camino desde que escribimos nuestro código hasta tener un programa funcional a continuación detalla el camino que habitualmente recorre los programas hechos en java.
- Escribimos nuestro código en un archivo con la extensión
.java
- Compilamos nuestro código con el compilador de Java llamado
Javac
- Obtenemos el archivo de
Byte Code
con la extensión.class.
- La máquina virtual de Java interpreta y verifica el
Byte code
que contiene el archivo.class
- Finalmente la JVM ejecuta el programa Java
Esta sería el trayecto que realiza nuestro programa Java para ser ejecutado y utilizado en nuestro sistema operativo.

Control de memoria en la JVM
Es muy importante que la JVM verifique el uso de la memoria de Java a mediante un proceso llamado recolección de basura, que identifica y elimina continuamente la memoria no utilizada en los programas de Java en ejecución.
Conclusión
Para ejecutar cualquier programa de java debemos tener instalado la máquina virtual de Java JVM, ya que este es quien interpreta nuestros programas para posteriormente utilizarlas.
Actualmente la JVM es desarrollada y mantenida por programadores muy brillantes, tanto corporativos como de código abierto.
El proyecto OpenJDK es la descendiente del JDK de Sun Microsystems pero con diferencia que es de código abierto.
OpenJDK ha continuado a través de la administración de Java de Oracle, y gran parte del trabajo pesado es realizado por los ingenieros de Oracle.