- Es una máquina hipotética que emula por software una máquina real. Es definida por una especificación.
- Conjunto de instrucciones de máquina (C.O.) + Operandos
- Pila
- Memoria
- El compilador genera bytecodes (instrucciones de código maquina para la JVM)
- El interprete tarduce y ejecuta los bytecodes para cada máquina específica.
Seguridad del Código
La JVM verifica los bytecodes asegurando que:
-El código se ajusta a las especificaciones de la JVM.
-No hay violaciones de acceso restringido.
-Los tipos de los parámetros son correctos para todo el código.
-No existen conversiones ilegales de datos (ej. de enteros a apuntadores).