Principales eventos en el desarrollo de Java
En 2000, se lanzó JDK1.3 y se lanzó la máquina virtual HotSpot de Java, que se convirtió oficialmente en la máquina virtual predeterminada para Java.
En 2011, se lanzó JDK7 y se lanzó oficialmente el nuevo recolector de basura G1.
2017. Se lanza JDK9. G1 está configurado como GC predeterminado en lugar de GMS.
Máquina virtual del sistema:
Visual Box, Vmware. La
máquina virtual
Java virtual machine, que es un programa de emulación para computadoras físicas , está especialmente diseñada para ejecutar un solo programa de computadora.
La máquina virtual Java es
el entorno operativo del bytecode binario, que se instala en el bytecode y se interpreta / compila en la ejecución de las instrucciones de la máquina en la plataforma correspondiente.
Características:
compilar una vez, ejecutar en todas partes,
gestión automática de memoria,
recogida automática de basura
Entorno operativo de la máquina virtual Java
JVM se ejecuta en el sistema operativo y no tiene interacción directa con el hardware
Máquina virtual HotSpot
La máquina virtual HotSpot adoptada por la máquina virtual Java adopta una arquitectura en la que coexisten un intérprete y un compilador justo a tiempo.
Modelo de arquitectura
JVM adopta una arquitectura de conjunto de instrucciones basada en pila, multiplataforma, conjunto de instrucciones pequeño, muchas instrucciones y el rendimiento de ejecución es peor que el registro
Características basadas en la arquitectura de pila:
- El diseño y la implementación son más simples. Adecuado para sistemas con recursos limitados
- Evite el problema de la asignación de registros y utilice el método de instrucción de dirección cero para asignar
- La mayoría de las instrucciones en el flujo de instrucciones son instrucciones de dirección cero, y el proceso de ejecución depende de la pila de operaciones, el conjunto de instrucciones es más pequeño y el compilador es más fácil de implementar.
- Sin necesidad de soporte de hardware, mejor portabilidad, mejor multiplataforma
Funciones basadas en arquitectura de registro
- La aplicación típica es un conjunto de instrucciones binarias x86; como una PC tradicional y una máquina virtual Android Davlik
- La arquitectura del conjunto de instrucciones depende completamente del hardware y tiene poca portabilidad
- Excelente rendimiento y ejecución más eficiente
- Toma menos instrucciones para completar una operación
- En la mayoría de los casos, el conjunto de instrucciones basado en la arquitectura de registro suele estar dominado por instrucciones de una dirección, instrucciones de dos direcciones e instrucciones de tres direcciones, mientras que el conjunto de instrucciones basado en la arquitectura de pila está dominado por instrucciones de dirección cero.
Inicio de la máquina virtual: el
cargador de clases Bootstrap crea una clase inicial para completar.
Ejecución de la máquina virtual:
una máquina virtual Java en ejecución tiene tareas claras: ejecute un programa Java y el programa comienza a ejecutarse antes de ejecutarse y la tecnología del programa se detiene.
Al ejecutar un programa Java, lo que realmente se está ejecutando es un proceso llamado Java Virtual Machine.