Skip to content
máquina virtual Java

File:JvmSpec7.png · Wikimedia Commons · See Wikimedia Commons

EntityQ193321· pop 48· linked from 741 articles

máquina virtual Java

Sign in to save

Also known as JVM, Java VM, JavaVM

entorno de ejecución que puede ejecutar bytecode Java como resultado de la compilación de programas informáticos escritos en el lenguaje de programación Java

Key facts

Designer
Sun Microsystems
Bits
32-bit , 64-bit
Introduced
1994 ; 32 years ago ( 1994 )
Version
Java SE 26
Type
Stack and register–register
Encoding
Variable
Branching
Compare and branch
Endianness
Big
Open
Yes
General purpose
Per-method operand stack (up to 65535 operands) plus per-method local variables (up to 65535)

via Wikipedia infobox

Wikidata facts

Instance of
specification
Subclass of
run-time system
Show 4 more facts
used by
JRuby
topic's main category
Category:Java virtual machine
Stack Exchange tag
stackoverflow.com/tags/jvm
Commons category
Java Virtual Machine
Sources (3)

via Wikidata · CC0

Article · Español

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. El código binario de Java no es un lenguaje de alto nivel, sino un verdadero código máquina de bajo nivel, viable incluso como lenguaje de entrada para un microprocesador físico. Como todas las piezas del rompecabezas Java, fue desarrollado originalmente por Sun. La JVM es una de las piezas fundamentales de la plataforma Java. Básicamente se sitúa en un nivel superior al hardware del sistema sobre el que se pretende ejecutar la aplicación, y este actúa como un puente que entiende tanto el bytecode como el sistema sobre el que se pretende ejecutar. Así, cuando se escribe una aplicación Java, se hace pensando que será ejecutada en una máquina virtual Java en concreto, siendo esta la que en última instancia convierte de código bytecode a código nativo del dispositivo final. La gran ventaja de la máquina virtual java es aportar portabilidad al lenguaje, de manera que desde Sun Microsystems se han creado diferentes máquinas virtuales java para diferentes arquitecturas, y, así, un programa .class escrito en Windows puede ser interpretado en un entorno Linux. Tan solo es necesario disponer de dicha máquina virtual para dichos entornos. De ahí el famoso axioma que sigue a Java: "escríbelo una vez, ejecútalo en cualquier parte", o "Write once, run anywhere". Pero los intentos de la compañía propietaria de Java y productos derivados de construir microprocesadores que aceptaran el Java bytecode como su lenguaje de máquina fueron más bien infructuosos. La máquina virtual de Java puede estar implementada en software, hardware, una herramienta de desarrollo o un navegador web; lee y ejecuta código precompilado bytecode que es independiente de la plataforma multiplataforma. La JVM provee definiciones para un conjunto de instrucciones, un conjunto de registros, un formato para archivos de clases, la pila, un heap con recolector de basura y un área de memoria. Cualquier implementación de la JVM que sea aprobada por SUN debe ser capaz de ejecutar cualquier clase que cumpla con la especificación. Existen varias versiones, en orden cronológico, de la máquina virtual de Java. En general la definición del Java bytecode no cambia significativamente entre versiones, y si lo hace, los desarrolladores del lenguaje procuran que exista compatibilidad hacia atrás con los productos anteriores. A partir de J2SE 5.0, los cambios en la especificación de la JVM han sido desarrollados bajo el auspicio de la Java Community Process (JCP) y especificada en la JSR 924.​ Desde el año 2006, cambios en la especificación para soportar las modificaciones del formato del fichero de clases (JSR 202​) se están llevando a cabo en una versión de mantenimiento en la JSR 924. Las especificaciones para la JVM están publicadas en lo que se conoce como "el libro azul".​ Así reza el prefacio: Esperamos que esta especificación documente suficientemente la Máquina Virtual de Java para hacer posibles implementaciones desde cero. Sun proporciona tests que verifican que las implementaciones de la Máquina Virtual de Java opere correctamente Kaffe es un ejemplo de una implementación de JVM desde cero. Sun es la propietaria de la marca registrada "Java", que usa para certificar aquellas implementaciones que se ajustan y son totalmente compatibles con sus especificaciones. Sun fue adquirida en el año 2010 por Oracle Corporation.

Abstract from DBpedia / Wikipedia · CC BY-SA