Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo abrir una máquina virtual

Cómo abrir una máquina virtual

Tarjeta de presentación de la enciclopedia de máquinas virtuales Una máquina virtual (máquina virtual) se refiere a un sistema informático completo con funciones completas del sistema de hardware simuladas por software y ejecutándose en un entorno completamente aislado. Contenido [ocultar] 1. Conceptos básicos 2. Máquinas virtuales convencionales 3. Clasificación de virtualización 4. Por qué usar máquinas virtuales 5. Proceso de instalación de la máquina virtual VMware 6. Máquina virtual Java 1. Qué es la máquina virtual Java 2. Por qué usar la máquina virtual Java 3 Quién necesita saber sobre la máquina virtual Java 4. Tipos de datos admitidos por la máquina virtual Java 5. Arquitectura de la máquina virtual Java 1. Conceptos básicos 2. Máquinas virtuales convencionales 3. Clasificación de virtualización 4. Por qué utilizar máquinas virtuales 5. Proceso de instalación de la máquina virtual VMware. 6. Máquina virtual Java 1. ¿Qué es la máquina virtual Java? 2. Por qué utilizar la máquina virtual Java 3. Quién necesita conocer la máquina virtual Java 4. Tipos de datos admitidos por la máquina virtual Java 5. Arquitectura de la máquina virtual Java

[Editar este párrafo] 1. Conceptos básicos Máquinas virtuales en un sentido general:

A través del software de máquina virtual, se pueden simular una o más computadoras virtuales en una computadora física. Estas Una máquina virtual funciona exactamente como una real. computadora, por ejemplo, puede instalar un sistema operativo, instalar aplicaciones, acceder a recursos de red y más. Para usted, es sólo una aplicación que se ejecuta en su computadora física, pero para una aplicación que se ejecuta en una máquina virtual, es como trabajar en una computadora real. Por lo tanto, cuando realizo una evaluación de software en una máquina virtual, el sistema también puede fallar, pero solo el sistema operativo en la máquina virtual, no el sistema operativo en la computadora física, falla y uso "Deshacer" de la máquina virtual (Recuperación). ), puedo restaurar inmediatamente la máquina virtual al estado anterior a la instalación del software. [Edite este párrafo] 2. Máquinas virtuales convencionales El software de máquinas virtuales actualmente popular incluye VMware (VMWare ACE) y Virtual PC, los cuales pueden virtualizar múltiples computadoras en sistemas Windows para instalar Linux, OS/2, FreeBSD, etc. sistemas. Después de que Microsoft adquiriera Connectix en febrero de 2003, lanzó rápidamente Microsoft Virtual PC 2004. Sin embargo, debido a varias consideraciones, el Virtual PC 2004 recién lanzado ya no admite explícitamente Linux, FreeBSD, NetWare, Solaris y otros sistemas operativos, y solo conserva OS/2. Si desea virtualizar una computadora con Linux, solo puede configurarlo. arriba manualmente. En comparación, VMware es significativamente mejor que Virtual PC 2004 en términos de soporte para múltiples sistemas operativos y eficiencia de ejecución. Una computadora se convierte en dos y ya no tendrá que preocuparse por aprender a usar Linux.

La máquina virtual de segunda generación, también conocida como máquina Octopus, es más resistente a ataques, daños de hardware y accidentes en el centro de datos que los hosts virtuales tradicionales. Es un cambio conceptual de los hosts virtuales tradicionales y pertenece al sistema de actualización de los hosts virtuales. Por sus características de cercano acceso y rápida respuesta. Existe un conjunto estricto de reglas para cambiar todo el sistema y la coincidencia se completa automáticamente durante la operación. "Comúnmente conocido como espacio de clúster, es un producto de una combinación de CDN, resolución inteligente de nombres de dominio, sistema de equilibrio de carga y otras nuevas tecnologías de red al agregar una nueva capa de arquitectura de red a la Internet existente. Aporta conceptos a los hosts virtuales tradicionales. Es el host virtual original y más estable del mundo. Proporciona a los usuarios tecnología de host virtual rentable y de alto rendimiento, lo que ayuda a los usuarios a utilizar la menor inversión para hacer que sus propios sitios web tengan la tecnología operativa que solo los sitios web grandes pueden disfrutar. El concepto de segunda generación del sistema de alojamiento virtual adopta los estándares operativos de los sitios web grandes en el espacio que se ejecuta en el sistema, de modo que todos los sitios web pequeños y medianos puedan disfrutar del tratamiento de los sitios web grandes, y serán normales y rápidos. sin importar cuándo y dónde se acceda a ellos. Tenga en cuenta que los sitios web pequeños pueden marcar una gran diferencia.

[Editar este párrafo] 3. Clasificación de virtualización Virtualización de Microsoft

Virtualización de IBM

Virtualización de HP

Virtualización de SWsoft

Virtualización de SUN

Virtualización Intel

Virtualización AMD

Máquina virtual Java

VMware 4.5 tiene versiones Workstation, servidor GSX, etc., entre las que destaca la versión Windows de La estación de trabajo es la más utilizada. Este artículo la utiliza como base para varios ejercicios prácticos.

El concepto de máquina virtual es relativamente amplio. Por lo general, los conceptos de máquina virtual con los que la gente entra en contacto incluyen software de simulación de hardware como VMware y software como JVM, que se encuentra entre el hardware y el compilador. Es a esto último a lo que nos referimos aquí.

Una máquina virtual es una computadora abstracta que tiene un conjunto de instrucciones y utiliza diferentes áreas de almacenamiento como una computadora real. Se encarga de ejecutar instrucciones y también de gestionar datos, memoria y registros. Esta máquina virtual proporciona una interfaz coherente para el compilador en cualquier plataforma. El compilador solo necesita estar orientado a la máquina virtual, generar código que la máquina virtual pueda entender y luego el intérprete convertirá el código de la máquina virtual en código de máquina para un sistema específico para su ejecución.

Sun xVM VirtualBox ha lanzado una nueva versión: 2.1.0.

2.1.0 no es como el 2.0.X anterior, que principalmente corrige errores y mejora las funciones originales. Esta versión agrega muchas características nuevas. ¡Se recomienda encarecidamente a los usuarios de VBox que actualicen!

En el ChangeLog de la web oficial, podemos ver la información principal de actualización de esta versión:

* Soporte para tecnología de virtualización de hardware del cliente Max OS X (VT-x y AMD -V);

* ¡Admite la simulación de clientes de 64 bits en sistemas operativos de 32 bits! (De naturaleza experimental, consulte el manual del usuario para obtener más detalles);

* Admite la tecnología de mejora de virtualización Intel Nehalem (EPT y VPID, consulte el manual del usuario para obtener más detalles);

* ¡Admite aceleración 3D a través de OpenGL! (Consulte el Capítulo 4.8 del Manual del usuario);

Hay muchas actualizaciones, ¡pero las cuatro anteriores por sí solas son razones suficientes para que los usuarios actualicen!

VirtualBox finalmente admite la aceleración 3D a través de experimentos OpenGL y es el primero en admitir la simulación de clientes de 64 bits en sistemas operativos de 32 bits (requiere soporte de CPU de 64 bits). ¡Esto significa que hay menos restricciones en la plataforma de la máquina virtual y puedes emular AMD64 en tu plataforma x86!

Para el elemento "Aceleración OpenGL 3D", aprendí que esta función actualmente solo está disponible en sistemas Windows y solo puede lograr la aceleración OpenGL, pero no la aceleración Direct3D. Esto significa que ya puedes ejecutar algunas aplicaciones OpenGL 3D en una máquina virtual de Windows, pero Direct3D tendrá que esperar un poco más.

¿Qué estás esperando? Esta es una versión muy mejorada. Descárguelo y pruébelo ahora: [Edite este párrafo] 4. Por qué utilizar máquinas virtuales 1. Entorno de demostración, puede instalar varios entornos de demostración para facilitar varios ejemplos

2. Garantizar el funcionamiento rápido del host y; reducir Ejecute programas de instalación basura innecesarios, programas utilizados ocasionalmente o programas para realizar pruebas en máquinas virtuales.

3. Evite reinstalar cada vez herramientas comunes como las bancarias, que no se utilizan con frecuencia y requieren confidencialidad. es mejor ejecutarlo en un entorno separado;

4. Si desea probar aplicaciones desconocidas, puede instalarlas y eliminarlas por completo en la máquina virtual

5. Sistemas operativos como Linux, Mac, etc.

La virtualización de terminales es popular debido a la importante reducción de los costos de mantenimiento que conlleva, como la reducción del espacio ocupado, la reducción del costo de compra de equipos de software y hardware, el ahorro de energía y los menores costos de mantenimiento.

Tiene ventajas más rentables que los equipos terminales reales. Pero estas no son las únicas razones por las que la industria educativa y los fabricantes tienen debilidad por la tecnología de virtualización. Por otro lado, lo que rara vez mencionamos es que la tecnología de virtualización puede mejorar enormemente la seguridad del sistema. [Edite este párrafo] 5. Proceso de instalación de la máquina virtual VMware La máquina virtual VMware Workstation es una aplicación que se ejecuta en una computadora con Windows o Linux. Puede simular un entorno de PC estándar basado en x86. Este entorno es el mismo que el de una computadora real, con chipset, CPU, memoria, tarjeta gráfica, tarjeta de sonido, tarjeta de red, unidad de disquete, disco duro, unidad óptica, puerto serie, puerto paralelo, controlador USB, controlador SCSI y otros dispositivos. La ventana que proporciona esta aplicación es El monitor de la máquina virtual.

En términos de uso, esta máquina virtual no se diferencia mucho de un host físico real. Requiere particionar, formatear, instalar el sistema operativo e instalar aplicaciones y software. En resumen, todas las operaciones son iguales. . Como una computadora real.

A continuación se utilizan ejemplos para presentar los métodos y pasos de uso de VMware Workstation para crear una máquina virtual.

1. Ejecute VMware Workstation 6, haga clic en el comando "Archivo → Nuevo → Máquina virtual" para ingresar al Asistente para crear máquina virtual, o presione directamente la tecla de acceso directo "Crtl N" para ingresar al Asistente para crear máquina virtual. .

2. Haga clic en el botón "Siguiente" en la página de bienvenida emergente.

3. Seleccione el botón de opción "Personalizado" en el área de opción "Configuración de máquina virtual".

4. En la página Elegir la compatibilidad de hardware de la máquina virtual, seleccione el formato de hardware de la máquina virtual. Puede seleccionar VMware Workstation 6, VMware Workstation 5 o VMware Workstation 4 en la lista desplegable Compatibilidad de hardware. cuadro. Elija entre. Por lo general, se selecciona el formato de Workstation 6 porque el nuevo formato de hardware de la máquina virtual admite más funciones. Después de seleccionarlo, haga clic en el botón "Siguiente".

5. En el cuadro de diálogo Seleccionar un sistema operativo invitado, seleccione el tipo de máquina virtual que se creará y el sistema operativo que se ejecutará. Aquí, seleccione el sistema operativo Windows 2000 Professional y haga clic en "Siguiente". botón.

6. En el cuadro de diálogo Nombre la máquina virtual, asigne un nombre a la nueva máquina virtual y seleccione su ruta para guardar.

7. Seleccione la cantidad de CPU en la máquina virtual en el área de opción Procesadores. Si selecciona Dos, el host debe tener dos CPU o una CPU con hiperproceso.

8. En la página Memoria para la máquina virtual, configure la memoria utilizada por la máquina virtual. Normalmente, para sistemas Windows 98 e inferiores, puede configurar 64 MB para Windows 2000/XP; a 96 MB para Windows 2003, el mínimo es 128 MB; para máquinas virtuales con Windows Vista, el mínimo es 512 MB.

9. Seleccione el "Tipo de red" de la tarjeta de red de la máquina virtual en la página Tipo de red.

Seleccione el primer elemento y utilice la tarjeta de red en puente (tarjeta de red virtual VMnet0). para indicar la máquina virtual y el host actuales (refiriéndose a la computadora que ejecuta el software VMware Workstation) en la misma red.

Seleccione la segunda opción, usar tarjeta de red NAT (tarjeta de red virtual VMnet8), lo que significa que la máquina virtual tiene acceso unidireccional al host y a la red fuera del host a través de las computadoras en el host. La red que no sea el host no puede acceder a la máquina virtual.

Seleccione la tercera opción, usar solo la red local (tarjeta de red virtual VMnet1), lo que significa que la máquina virtual solo puede acceder al host y a todas las máquinas virtuales usando la tarjeta de red virtual VMnet1. Las computadoras en la red fuera del host no pueden acceder a la máquina virtual, ni la máquina virtual puede acceder a ellas.

Seleccione el cuarto elemento, Sin conexión de red, lo que indica que la máquina virtual no tiene conexión de red con el host.

10. En la página Seleccionar tipo de adaptador de E/S, seleccione el modelo de la tarjeta SCSI de la máquina virtual. Generalmente, seleccione el valor predeterminado.

11. En la página Seleccionar un disco, seleccione Crear un nuevo disco virtual.

12. En la página Seleccionar un tipo de disco, seleccione el modo de interfaz del disco duro virtual creado, generalmente seleccione el valor predeterminado.

13. Configure el tamaño del disco virtual en la página Especificar capacidad del disco. Para uso general, seleccione el valor predeterminado.

14. Configure el nombre del archivo del disco virtual en el área de opción Archivo de disco de la página Especificar archivo de disco, generalmente seleccione el valor predeterminado y luego haga clic en el botón Finalizar.

Instalar el sistema operativo

Instalar el sistema operativo en una máquina virtual no es diferente a instalarlo en una computadora real. Sin embargo, al instalar un sistema operativo en una máquina virtual, usted. Puede usar directamente el archivo guardado en La imagen del CD de instalación (o imagen de disquete) en el host sirve como unidad de CD-ROM (o unidad de disquete) de la máquina virtual.

Puede abrir el archivo de configuración de la máquina virtual Windows 2000 creado anteriormente. En la pestaña Hardware de la página Configuración de la máquina virtual, seleccione el elemento CD-ROM y seleccione el botón de opción Usar imagen ISO en el área de opciones de Conexión. y luego busque para seleccionar el archivo de imagen del CD de instalación de Windows 2000 (formato ISO). Si utiliza el CD de instalación, seleccione Usar unidad física y seleccione la unidad de CD-ROM donde se encuentra el CD de instalación.

Después de seleccionar la unidad óptica, haga clic en el botón de reproducción en la barra de herramientas, encienda la máquina virtual y haga clic una vez con el mouse en la ventana de trabajo de la máquina virtual para ingresar a la máquina virtual.

Tenga en cuenta que si desea volver al host desde la ventana de la máquina virtual, debe presionar la tecla de acceso rápido Ctrl Alt.

Instalar VMware Tools

Después de instalar el sistema operativo en la máquina virtual, debe instalar VMware Tools. VMware Tools es equivalente al controlador del chipset de la placa base, al controlador de la tarjeta gráfica y al controlador del mouse de la máquina virtual VMware. Después de instalar VMware Tools, el rendimiento de la máquina virtual se puede mejorar enormemente y la resolución de la máquina virtual se puede configurar en cualquier tamaño. También puede utilizar El mouse se cambia directamente desde la ventana de la máquina virtual al host.

1. Seleccione Instalar VMware Tools en el menú VM.

2. Siga las instrucciones para instalar y finalmente reiniciar la máquina virtual. [Editar este párrafo] 6. Máquina Virtual Java 1. ¿Qué es una Máquina Virtual Java?

Máquina Virtual Java (JVM) es la abreviatura de Máquina Virtual Java. Es una computadora ficticia que se crea a través del. real Se realiza simulando varias funciones de la computadora en la computadora. La máquina virtual Java tiene su propia arquitectura de hardware completa, como procesador, pila, registros, etc., y también tiene el sistema de instrucciones correspondiente.

2. Por qué utilizar la máquina virtual Java

Una característica muy importante del lenguaje Java es su independencia de la plataforma.

El uso de la máquina virtual Java es la clave para lograr esta característica. Si un lenguaje general de alto nivel quiere ejecutarse en diferentes plataformas, al menos debe compilarse en diferentes códigos de destino. Después de la introducción de la máquina virtual en lenguaje Java, no es necesario volver a compilar el lenguaje Java cuando se ejecuta en diferentes plataformas. Modelo de uso del lenguaje Java La máquina virtual Java protege la información relacionada con plataformas específicas, de modo que el compilador del lenguaje Java solo necesita generar el código de destino (código de bytes) que se ejecuta en la máquina virtual Java y puede ejecutarse en múltiples plataformas sin modificaciones. Cuando la máquina virtual Java ejecuta código de bytes, lo interpreta en instrucciones de máquina para su ejecución en la plataforma específica.

3. ¿Quién necesita entender la máquina virtual Java?

La máquina virtual Java es la base para la implementación subyacente del lenguaje Java. Cualquier persona interesada en el lenguaje Java debe tener una idea general. Comprensión de la máquina virtual Java. Esto ayuda a comprender algunas propiedades del lenguaje Java y también ayuda a utilizar el lenguaje Java. Para el personal de software que desea implementar la máquina virtual Java en una plataforma específica, los autores de compiladores del lenguaje Java y las personas que desean utilizar chips de hardware para implementar la máquina virtual Java, deben tener un conocimiento profundo de las especificaciones de Java. máquina virtual. Además, si desea ampliar el lenguaje Java o compilar otros lenguajes en el código de bytes del lenguaje Java, también debe tener un conocimiento profundo de la máquina virtual Java.

4. Tipos de datos soportados por la máquina virtual Java

Los tipos de datos básicos soportados por la máquina virtual Java en el lenguaje Java son los siguientes:

byte : //1 byte tiene El complemento de un entero con signo

short: //El complemento de un entero con signo de 2 bytes

int: //El complemento de un 4 bytes entero con signo

long: //El complemento de un entero con signo de 8 bytes

float: //Número de punto flotante de precisión simple IEEE754 de 4 bytes

doble : //Número de coma flotante de precisión doble IEEE754 de 8 bytes

char: // Carácter Unicode sin signo de 2 bytes

Casi toda la verificación de tipos de Java se realiza en tiempo de compilación. Los datos de los tipos de datos primitivos enumerados anteriormente no necesitan estar etiquetados por hardware cuando los ejecuta Java. El código de bytes (instrucción) que opera estos datos de tipo de datos primitivos ha señalado el tipo de datos del operando. Por ejemplo, las instrucciones iadd, ladd, fadd y dadd suman dos números y sus tipos de operandos son int, long, flotar y doblar. La máquina virtual no establece instrucciones separadas para el tipo booleano (booleano). Los datos de tipo booleano se procesan mediante instrucciones de números enteros, incluidos los retornos de números enteros. Las matrices de tipo booleano se procesan mediante matrices de bytes. La máquina virtual utiliza números de punto flotante en formato IEEE754. Las computadoras más antiguas que no admiten el formato IEEE pueden ser muy lentas cuando ejecutan programas de cálculo numérico Java.

Otros tipos de datos admitidos por la máquina virtual incluyen:

objeto//referencia de 4 bytes a un objeto Java (objeto)

returnAddress//4 bytes , utilizado para instrucciones jsr/ret/jsr-w/ret-w

Nota: las matrices Java se tratan como objetos.

La especificación de la máquina virtual no tiene requisitos especiales para la estructura interna del objeto. En la implementación de Sun, una referencia a un objeto es un identificador que contiene un par de punteros: un puntero apunta a la tabla de métodos del objeto y el otro apunta a los datos del objeto. Los programas representados en el código de bytes de la máquina virtual Java deben cumplir con las convenciones de tipo. Las implementaciones de la máquina virtual Java deben negarse a ejecutar programas de código de bytes que violen las especificaciones de tipo. La máquina virtual Java parece poder ejecutarse sólo en máquinas con un espacio de direcciones de 32 bits debido a limitaciones en la definición del código de bytes. Pero es posible crear una máquina virtual Java que convierta automáticamente el código de bytes al formato de 64 bits.

Se puede ver en los tipos de datos admitidos por la máquina virtual Java que Java tiene regulaciones estrictas sobre el formato interno de los tipos de datos, de modo que varias implementaciones de la máquina virtual Java interpretan los datos de la misma manera, garantizando así la independencia y portabilidad de la plataforma Java. /p>

.

5. Arquitectura de la máquina virtual Java

La máquina virtual Java consta de cinco partes: un conjunto de instrucciones, un conjunto de registros, una pila y un montón de recolección de basura (Garbage- montón recopilado), un área de método. Estas cinco partes son los componentes lógicos de la máquina virtual Java y no dependen de ninguna tecnología de implementación o método de organización, pero sus funciones deben implementarse de alguna manera en la máquina real.

1.Conjunto de instrucciones Java

La máquina virtual Java admite aproximadamente 248 códigos de bytes. Cada código de bytes realiza una operación básica de la CPU, como agregar un número entero a un registro, transferencia de subrutina, etc. El conjunto de instrucciones de Java es equivalente al lenguaje ensamblador de los programas Java.

Las instrucciones del conjunto de instrucciones de Java contienen un operador de un solo byte que especifica la operación a realizar y cero o más operandos que proporcionan los parámetros o datos necesarios para la operación. Muchas instrucciones no tienen operandos y constan únicamente de un operador de un solo byte.

El proceso de ejecución del bucle interno de la máquina virtual es el siguiente:

do{

Obtener un byte de operador

Según la operación Ejecutar una acción basada en el valor del símbolo

}mientras (el programa no termina)

Debido a la simplicidad del sistema de instrucciones, la máquina virtual El proceso de ejecución es muy simple, lo que es beneficioso para mejorar la eficiencia de la ejecución. El número y tamaño de los operandos en una instrucción lo determina el operador. Si el operando tiene más de un byte, se almacena en el primer orden de bytes grandes. Por ejemplo, un parámetro de 16 bits ocupa dos bytes cuando se almacena y su valor es:

Primer byte *256 Segundo byte El flujo de instrucciones de código de bytes generalmente está alineado solo en bytes. Las excepciones son las instrucciones tabltch y lookup, que requieren una alineación interna obligatoria de límites de 4 bytes.

2. Registros

Los registros de la máquina virtual Java se utilizan para guardar el estado de ejecución de la máquina, similar a algunos registros especiales en los microprocesadores.

Existen cuatro tipos de registros en la máquina virtual Java:

pc: contador de programas Java.

optop: Puntero a la parte superior de la pila de operandos.

Marco: Puntero al entorno de ejecución del método de ejecución actual.

vars: Puntero a la primera variable en el área de variables locales del método actualmente ejecutado.

Máquina Virtual Java

La máquina virtual Java está basada en pila. No define ni utiliza registros para pasar o recibir parámetros. Su propósito es garantizar la simplicidad del conjunto de instrucciones. y el tiempo de implementación. Eficiencia (especialmente para procesadores con una pequeña cantidad de registros).

Todos los registros son de 32 bits.

3. Pila

La pila de la máquina virtual Java tiene tres áreas: área de variable local, área de entorno de ejecución y área de operandos.

(1) Área de variables locales

Cada método Java utiliza un conjunto de variables locales de tamaño fijo. Están dirigidos a desplazamientos de palabras del registro vars. Las variables locales son todas de 32 bits. Los números enteros largos y los números de punto flotante de doble precisión ocupan el espacio de dos variables locales, pero se abordan según el índice de la primera variable local. (Por ejemplo, una variable local con índice n, si es un número de punto flotante de doble precisión, en realidad ocupa el espacio de almacenamiento representado por los índices n y n 1). La especificación de la máquina virtual no requiere valores de 64 bits en Las variables locales están alineadas en 64 bits. La máquina virtual proporciona instrucciones para cargar valores en variables locales en la pila de operandos y también proporciona instrucciones para escribir valores en la pila de operandos en variables locales.

(2) Área del entorno de ejecución

La información contenida en el entorno de ejecución se utiliza para enlaces dinámicos, retornos de métodos normales y propagación de excepciones.

·Enlace dinámico

El entorno de ejecución incluye punteros a la tabla de símbolos del intérprete de la clase actual y al método actual para admitir el enlace dinámico del código del método. El código del archivo de clase del método utiliza símbolos al hacer referencia al método que se llamará y a las variables a las que se accederá. Los enlaces dinámicos traducen llamadas a métodos simbólicos en llamadas a métodos reales, cargan las clases necesarias para interpretar símbolos que aún no se han definido y traducen accesos a variables en direcciones de desplazamiento correspondientes a las estructuras de almacenamiento en tiempo de ejecución de esas variables. La vinculación dinámica de métodos y variables evita que los cambios en otras clases utilizadas en el método afecten el código de este programa.

·Retorno de método normal

Si el método actual finaliza normalmente, el método que llama obtendrá un valor de retorno cuando se ejecute una instrucción de retorno con el tipo correcto. El entorno de ejecución se utiliza para restaurar los registros de la persona que llama en el caso de un retorno normal y aumentar el contador del programa de la persona que llama en un valor apropiado para omitir las instrucciones de llamada del método ejecutado y luego continuar la ejecución en el entorno de ejecución de la persona que llama.

·Excepción y propagación de errores

La excepción se llama Error o Excepción en Java. Es una subclase de la clase Throwable. El motivo en el programa es: ① Error de enlace dinámico, como. No se puede encontrar el archivo de clase requerido. ② Error en tiempo de ejecución, como referencia a un puntero nulo

·El programa utiliza la instrucción throw.

Cuando se produce una excepción, la máquina virtual Java toma las siguientes medidas:

·Comprueba la tabla de cláusulas catch asociada al método actual. Cada cláusula catch contiene su rango de instrucciones válidas, los tipos de excepción que puede manejar y la dirección del bloque de código que maneja la excepción.

·La cláusula catch que coincide con una excepción debe cumplir las siguientes condiciones: la instrucción que causó la excepción está dentro del alcance de su instrucción y el tipo de excepción que ocurrió es un subtipo del tipo de excepción que puede manejar. . Si se encuentra una cláusula catch coincidente, el sistema transfiere la ejecución al bloque de manejo de excepciones especificado; si no se encuentra ningún bloque de manejo de excepciones, el proceso de encontrar una cláusula catch coincidente se repite hasta que se verifiquen todas las cláusulas catch anidadas del método actual.

Dado que la máquina virtual continúa la ejecución desde la primera cláusula catch coincidente, el orden en la tabla de cláusulas catch es importante. Debido a que el código Java está estructurado, todos los controladores de excepciones de un determinado método siempre se pueden organizar en una tabla en orden. Para cualquier valor de contador de programa posible, se puede encontrar el controlador de excepciones apropiado en orden lineal para manejar las excepciones que ocurren en este programa. valor del contador.

·Si no se encuentra una cláusula catch coincidente, entonces el método actual obtiene un resultado de "excepción no detectada" y se devuelve al llamador del método actual, como si la excepción acabara de ocurrir en el llamador. Si el bloque de manejo de excepciones correspondiente aún no se encuentra en la persona que llama, entonces esta propagación de errores continuará. Si el error se propaga al nivel superior, el sistema llamará a un bloque de manejo de excepciones predeterminado.

(3) Área de pila de operandos Las instrucciones de máquina solo toman operandos de la pila de operandos, operan sobre ellos y devuelven los resultados a la pila. La razón para elegir la estructura de pila es que puede simular de manera eficiente el comportamiento de una máquina virtual en máquinas con solo una pequeña cantidad de registros o registros no generales (como Intel486). La pila de operandos es de 32 bits. Se utiliza para pasar parámetros a métodos y recibir resultados de métodos. También se utiliza para admitir parámetros de operaciones y guardar los resultados de las operaciones. Por ejemplo, la instrucción iadd suma dos números enteros. Los dos números enteros agregados deben ser las dos palabras en la parte superior de la pila de operandos. Estas dos palabras fueron colocadas en la pila mediante la instrucción anterior. Los dos números enteros se extraen de la pila, se suman y el resultado se devuelve a la pila de operandos.

Cada tipo de datos primitivo tiene instrucciones especializadas para realizar las operaciones necesarias sobre ellos.

Cada operando requiere una ubicación de almacenamiento en la pila, excepto long y double, que requieren dos ubicaciones. Los operandos sólo pueden ser operados por operadores aplicables a su tipo. Por ejemplo, presionar dos números de tipo int es ilegal si se tratan como un número de tipo long. En la implementación de la máquina virtual de Sun, esta restricción la aplica el verificador de código de bytes. Sin embargo, hay algunas operaciones (operadores engañar e intercambiar) que operan en el área de datos en tiempo de ejecución independientemente del tipo.

4. Montón de recopilación de unidades inútiles

El montón de Java es un área de datos en tiempo de ejecución desde la cual las instancias (objetos) de las clases asignan espacio. El lenguaje Java tiene capacidades de recolección de basura: no brinda a los programadores la capacidad de liberar objetos explícitamente. Java no estipula el algoritmo específico de recolección de basura que se utilizará y se pueden usar varios algoritmos según las necesidades del sistema.

5. Área de método

El área de método es similar al código compilado en los lenguajes tradicionales o la sección de texto en el proceso Unix. Guarda el código del método (código Java compilado) y la tabla de símbolos. En la implementación actual de Java, el código del método no se incluye en el montón de recolección de basura, pero esto está planificado para una versión futura. Cada archivo de clase contiene el código compilado de una clase Java o una interfaz Java. Se puede decir que un archivo de clase es un archivo de código de ejecución del lenguaje Java. Para garantizar la independencia de plataforma de los archivos de clase, el formato de los archivos de clase también se detalla en la especificación de la máquina virtual Java. Para obtener detalles específicos, consulte la especificación de la máquina virtual Java de Sun.