Desarrollo Web: Ing. Wilson Aguin

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 17

Desarrollo

Web

Ing. Wilson Aguin


¿Que es
JVM?
Máquina virtual Java

Una máquina virtual Java (en inglés Java Virtual Machine, JVM) es


una máquina virtual de proceso nativo, es decir, ejecutable en una
plataforma específica, capaz de interpretar y ejecutar instrucciones
expresadas en un código binario especial (el bytecode Java), el cual es
generado por el compilador del lenguaje Java.
Para entendernos, la JVM es una abstracción de una máquina
real, que es capaz de entender el Byte Code creado por el
compilador de Java y traducirlo en instrucciones nativas
equivalente que a su vez el sistema operativo actual es capaz de
entender, ejecutando realmente la aplicación.
La Java Virtual Machine, al igual que su contrapartida real, ejecuta
los programas como si fuera una computadora, para lo cual utiliza
diversos componentes, del mismo modo que los usaría un
procesador real. Entre los componentes más importantes se
encuentran los registros, la pila, el recolector de basura...
La JVM (Java Virtual Machine) actúa como un motor en tiempo de ejecución
para ejecutar aplicaciones Java.
 Estructura de árbol de la memoria JVM

•Memoria de montón
• Generación joven
• Eden Space
• Espacio sobreviviente
• Vieja generación
• Generación de tenencia
•Memoria no apilada
• Generación permanente
• Caché de código ( Creo que se incluye "solo" por
HotSpot Java VM)
La memoria JVM consta de varios segmentos.
•el código JVM en sí, con código interno y datos, e interfaces internas, como
agentes de perfil y monitoreo o instrumentación de código de bytes
•la memoria no heap , donde se cargan las clases
•la memoria de la pila , donde viven los marcos (variables locales y operandos
para cada hilo)
•la memoria de almacenamiento dinámico , donde viven los identificadores
(referencias de objeto) y los objetos
•el búfer directo , donde se almacenan los búferes para la entrada / salida directa
de datos
Memoria del montón
Heap memory

La memoria de almacenamiento dinámico es el área de datos


de tiempo de ejecución desde la cual Java VM) asigna memoria
para todas las instancias de clase y matrices. El
almacenamiento dinámico puede ser de tamaño fijo o variable.
El recolector de basura es un sistema automático de
administración de memoria que reclama memoria de
almacenamiento dinámico para objetos.
Generación joven
Young generation

La generación joven es el lugar donde se crean todos los objetos


nuevos. Cuando se llena la generación joven, se realiza la
recolección de basura. Esta recolección de basura se llama Minor
GC. Young Generation se divide en 2 partes a continuación
Espacio Eden: El grupo desde el cual se asigna inicialmente la
memoria para la mayoría de los objetos.

Espacio sobreviviente: El grupo que contiene objetos que han


sobrevivido a la recolección de basura del espacio Edén.
Vieja generación
Old generation

La memoria de la antigua generación contiene los objetos que han


vivido y sobrevivido después de muchas rondas de GC menor. Por
lo general, la recolección de basura se realiza en la memoria de Old
Generation cuando está llena. La recolección de basura de la vieja
generación se llama GC mayor y generalmente demora más tiempo.
La generación anterior contiene la siguiente parte:
Espacio ocupado: El grupo que contiene objetos que han existido
durante algún tiempo en el espacio de sobreviviente.
Memoria sin almacenamiento dinámico

La memoria sin almacenamiento dinámico incluye un área de


método compartida entre todos los subprocesos y la memoria
requerida para el procesamiento interno u optimización para la
máquina virtual Java VM). Almacena estructuras por clase, como
un grupo constante de tiempo de ejecución, campo y datos de
método y el código para métodos y constructores. El área del
método es lógicamente parte del montón pero, dependiendo de la
implementación, a Java VM puede no recolectar basura o
compactarlo. Al igual que la memoria de almacenamiento
dinámico, el área del método puede ser de un tamaño fijo o
variable. La memoria para el área del método no necesita ser
contigua.
Generación permanente

El grupo que contiene todos los datos reflectantes de la


máquina virtual en sí, como los objetos de clase y método.
Con Java VM que usan el intercambio de datos de clase, esta
generación se divide en áreas de solo lectura y lectura-
escritura.

También podría gustarte