La JVM es una especificación y puede tener diferentes implementaciones, siempre que se adhieran a las especificaciones. Las especificaciones se pueden encontrar en el siguiente enlace:https://docs.oracle.com
Oracle tiene su propia implementación de JVM (llamada HotSpot JVM), IBM tiene la suya propia (la J9 JVM, por ejemplo).
Las operaciones definidas dentro de la especificación se dan a continuación (fuente - Oracle JVM Specs, consulte el enlace anterior) -
- El formato de archivo de 'clase'
- Tipos de datos
- Tipos y valores primitivos
- Tipos y valores de referencia
- Áreas de datos en tiempo de ejecución
- Frames
- Representacion de objetos
- Aritmética de coma flotante
- Métodos especiales
- Exceptions
- Resumen del conjunto de instrucciones
- Bibliotecas de clases
- Diseño público, implementación privada
La JVM es una máquina virtual, una computadora abstracta que tiene su propio ISA, su propia memoria, pila, montón, etc. Se ejecuta en el sistema operativo host y le asigna sus demandas de recursos.