Si quieres predecir el futuro, estudia el pasado

JVM, la Java Virtual Machine o máquina virtual java, tiene una historia iniciada en el año 1992. El Green Project en esa época el lenguaje era denominado Oak. Con el pasar del tiempo la maquina virtual fue evolucionando y tornándose cada vez más compleja. El lenguaje Java tiene una sintaxis similar a C++, es orientado a objetos, se convirtió popular en conjunto con la web. La JVM sirve de base de la plataforma Java siendo responsable por tratar a todas las plataformas y Sistemas Operativos de modo independiente del lenguaje. La JVM no conoce absolutamente nada del lenguaje Java, solo su bytecode, que viene en formato .class, que son las instrucciones de la JVM (de ahi la posibilidad de llevar a otros lenguajes a la JVM, ya que esta no corre Java sino bytecode). Este class es el código compilado y representa una clase o interface en java.

Desde su inicio hasta hoy, Java tuvo muchas versiones. Esas modificaciones son gestionadas por JCP o Java Community Process (el comité que regula los cambios de la plataforma Java con cerca de 30 empresas), a partir de JSRs (Java Specification Requests), especificaciones que proporcionan estas modificaciones y mejoras. La documentación del lenguaje queda en Java Language Specification -JSL- y la documentación de JVM queda en Java Virtual Machine Specification.