| p:abstract
| - A Java Virtual Machine (JVM) is a set of computer software programs and data structures which use a virtual machine model for the execution of other computer programs and scripts. The model used by a JVM accepts a form of computer intermediate language commonly referred to as Java bytecode. This language conceptually represents the instruction set of a stack-oriented, capability architecture.
Java Virtual Machines operate on Java bytecode, which is normally (but not necessarily) generated from Java source code; a JVM can also be used to implement programming languages other than Java. For example, Ada source code can be compiled to Java bytecode, which may then be executed by a JVM. JVMs can also be released by other companies besides Sun (the developer of Java) -- JVMs using the "Java" trademark may be developed by other companies as long as they adhere to the JVM specification published by Sun (and related contractual obligations).
The JVM is a crucial component of the Java Platform. Because JVMs are available for many hardware and software platforms, Java can be both middleware and a platform in its own right — hence the expression "write once, run anywhere." The use of the same bytecode for all platforms allows Java to be described as "compile once, run anywhere", as opposed to "write once, compile anywhere", which describes cross-platform compiled languages. The JVM also enables such unique features as Automated Exception Handling which provides 'root-cause' debugging information for every software error (exception) independent of the source code.
The JVM is distributed along with a set of standard class libraries which implement the Java API (Application Programming Interface). The virtual machine and API have to be consistent with each other and are therefore bundled together as the Java Runtime Environment. (en)
- Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el Java bytecode), 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 Microsystems.
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 ésta 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 un 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".
Empero, 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 Web browser; 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 hacen, 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. (es)
- Die Java Virtual Machine (abgekürzt Java VM oder JVM) ist der Teil der Java-Laufzeitumgebung (JRE) für Java-Programme, der für die Ausführung des Java-Bytecodes verantwortlich ist. Hierbei wird im Normalfall jedes gestartete Java-Programm in seiner eigenen virtuellen Maschine ausgeführt. Der andere Teil der Java-Laufzeitumgebung sind die Java-Klassenbibliotheken.
Die JVM dient dabei als Schnittstelle zur Maschine und zum Betriebssystem und ist für die meisten Plattformen verfügbar. (z. B. Linux, Mac, Palm OS, Solaris, Windows, usw.).
Die Bestandteile der JVM sind
*Klassenlader (classloader und resolver),
*Speicherverwaltung und automatische Speicherbereinigung (garbage collection) und die
*Ausführungseinheit (execution engine).
Die Java Virtual Machine lässt sich durch Erweiterungen wie OSGi zu einem dynamischen Framework erweitern, das flexibel Java-Klassen nachladen sowie unterschiedliche Versionen und Abhängigkeiten verwalten kann. (de)
- La Java Virtual Machine (abrégé JVM, en français Machine virtuelle Java) est une machine virtuelle permettant d’interpréter et d’exécuter le bytecode Java.
Ce programme est spécifique à chaque plate-forme ou couple (machine/système d’exploitation) et permet aux applications Java compilées en bytecode de produire les mêmes résultats quelle que soit la plate-forme, tant que celle-ci est pourvue de la machine virtuelle Java adéquate.
La machine virtuelle la plus utilisée est celle de Sun Microsystems. Elle est gratuite, propriétaire jusqu’à la version 6 (stable) et libre à partir de la version 7 (non encore officielle).
Le 11 novembre 2006, Sun Microsystems a publié les sources de sa machine virtuelle HotSpot et de son compilateur javac sous licence Open Source GPL.
Les machines virtuelles développées par les autres éditeurs peuvent poser parfois des problèmes de compatibilité selon leur conformité aux [http://java.sun.com/docs/books/vmspec spécifications] fournies par Sun. De plus, il est rare qu’elles soient à jour par rapport aux dernières version de Sun.
* Celle de Microsoft était fournie avec le système d’exploitation Windows. Mais Sun s’est défendu de cette machine virtuelle qu’ils distribuaient, Sun pensait que la machine pouvait être "bugguée" volontairement pour contrer l’avancée du langage java (compatibilité sur OS = risque de perte pour Microsoft). Suite à un procès gagné par Sun, elle ne l’est plus.
* Apple en a créé une pour son Mac OS.
* [http://www-128.ibm.com/developerworks/java/jdk Celle d’IBM] semble être une bonne alternative à celle de Sun, elle est disponible pour les plates-formes AIX, z/OS, GNU/Linux et Windows. Elle est souvent utilisée avec l’EDI Eclipse.
* Il existe aussi des machines virtuelles sous licence GPL ou LGPL comme Kaffe ou SableVM. Le projet GNU inclut par ailleurs un "sous-projet" de machine virtuelle Java nommé GNU Classpath. (fr)
- La macchina virtuale Java, detta anche Java Virtual Machine o JVM, è la macchina virtuale che esegue i programmi in linguaggio bytecode, ovvero i prodotti della compilazione dei sorgenti Java. La JVM è formalmente una specifica, mantenuta da Sun Microsystems. Qualsiasi sistema che si comporti in modo coerente con tale specifica sarà quindi da considerarsi una particolare implementazione della JVM. Esistono implementazioni software per praticamente tutti i sistemi operativi moderni, sia gratuite che commerciali. Inoltre, esistono implementazioni speciali per particolari ambienti hardware/software (per esempio telefoni cellulari e palmari), e persino implementazioni hardware.
La disponibilità di implementazioni della macchina virtuale Java per diversi ambienti operativi è la chiave della portabilità di Java, proclamata nello slogan write once, run everywhere ("scrivi una volta, esegui dappertutto"). La macchina virtuale realizza infatti un ambiente di esecuzione omogeneo, che nasconde al software Java (e quindi al programmatore) qualsiasi specificità del sistema operativo sottostante: (it)
- Java仮想マシン (Java VM) は、Javaバイトコードとして定義された命令セットを実行するスタック型の仮想マシン。APIやいくつかのツールとセットでJava Runtime Environment (JRE) としてリリースされている。この環境を移植することで、さまざまな環境でJavaのプログラムを実行することができる。 (ja)
- Een Java Virtual Machine ofwel JVM is een platformonafhankelijke omgeving voor het uitvoeren van Java-programma's. (nl)
- Wirtualna maszyna Javy (ang. Java Virtual Machine, w skrócie JVM) to zależny od platformy system uruchomieniowy dla programów. Standardowo służy programom napisanym w języku Java, ale można go używać także jako środowisko uruchomieniowe także dla innych języków, np. Jython to implementacja Pythona właśnie na JVM.
Programy napisane dla maszyny wirtualnej Javy są niezależne od platformy dzięki temu, że uruchamiane są bezpośrednio w JVM (po konwersji na kod pośredni, poprzez kompilator jak javac dla programów Javy lub w locie jak dla wspomnianego wyżej Jythona), a nie w rodzimym środowisku. Można je uruchomić na dowolnym komputerze i systemie operacyjnym na które istnieje JVM. Poza tym można je uruchamiać przez klasyczną kompilację kodu źródłowego do maszynowego, umożliwia to na przykład kompilator GCJ z pakietu GCC.
Wirtualna maszyna Javy jest dostępna dla wielu platform. Istnieją różne jej implementacje, zwykle będące częścią całego pakietu narzędzi Javy, oraz samodzielne projekty jak na przykład JikesRVM, Kaffe, SableVM czy CACAO, które zazwyczaj dla swojego działania korzystają z zestawu standardowych bibliotek Javy GNU Classpath. Sun Microsystems, firma która stworzyła język Java, wraz z pakietem Java Runtime Environment dostarcza maszynę wirtualną. Od wersji 1.3 domyślną maszyną wirtualną jest HotSpot.
Starsze wersje maszyn wirtualnych miały problemy z wydajnością. Działo się tak, ponieważ maszyny były interpreterami kodu pośredniego języka Java. Obecne implementacje maszyn wirtualnych stosują kompilację kodu pośredniego do kodu maszynowego w trakcie uruchomienia (just-in-time compilation). Dzięki zastosowaniu tej technologii nowoczesne maszyny wirtualne niewiele ustępują wydajnością powszechnie używanym kompilatorom innych języków. (pl)
- Máquina virtual Java (do inglês Java Virtual Machine - JVM) é um programa que carrega e executa os aplicativos Java, convertendo os bytecodes em código executável de máquina. A JVM é responsável pelo gerenciamento dos aplicativos, à medida que são executados.
Graças à máquina virtual Java, os programas escritos em Java podem funcionar em qualquer plataforma de hardware e software que possua uma versão da JVM, tornando assim essas aplicações independentes da plataforma onde funcionam. (pt)
- Java Virtual Machine (сокращенно Java VM, JVM) — виртуальная машина Java — основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java интерпретирует и исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java. (ru)
- Java Virtual Machine, JVM, är en programvara utvecklad Sun Microsystems. JVM är det program som "kör" program skrivna i Java.
JVM är, som namnet antyder, en virtuell maskin. Den är alltså inte en maskin (dator) som sådan, utan är en simulerad dator som körs i systemet. Detta innebär att alla program som körs med JVM lider av en liten brist på processorkraft (så kallad overhead) eftersom det också behövs kraft att hålla själva JVM:en igång.
JVM tolkar den bytekod (Java bytecode) som skapas när man programmerar Java och kompilerar. Däri ligger också en av Javaspråkets styrkor: man kan köra Javaprogram på alla operativsystem för vilka det finns en JVM byggd. Alla JVM läser bytekoden på samma sätt, det är bara JVM:en som man måste konvertera till en annan plattform. Därmed kan man sprida sina Javaklasser enkelt mellan olika plattformer och operativsystem, och därför lämpar sig Java utmärkt som programspråk på Internet. (sv)
- Java虚拟机(Java Virtual Machine)是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
* 对中央处理器(CPU) 所执行的一种软件实作,用于执行编译过的Java 程序码(Applet 与应用程式)。 (zh)
|
| rdfs:comment
| - A Java Virtual Machine (JVM) is a set of computer software programs and data structures which use a virtual machine model for the execution of other computer programs and scripts. The model used by a JVM accepts a form of computer intermediate language commonly referred to as Java bytecode. This language conceptually represents the instruction set of a stack-oriented, capability architecture. (en)
- Una Máquina virtual Java (en inglés Java Virtual Machine, JVM) es un programa nativo, es decir, ejecutable en una plataforma específica, capaz de interpretar y ejecutar instrucciones expresadas en un código binario especial (el Java bytecode), el cual es generado por el compilador del lenguaje Java. (es)
- Die Java Virtual Machine (abgekürzt Java VM oder JVM) ist der Teil der Java-Laufzeitumgebung (JRE) für Java-Programme, der für die Ausführung des Java-Bytecodes verantwortlich ist. Hierbei wird im Normalfall jedes gestartete Java-Programm in seiner eigenen virtuellen Maschine ausgeführt. Der andere Teil der Java-Laufzeitumgebung sind die Java-Klassenbibliotheken. (de)
- La Java Virtual Machine (abrégé JVM, en français Machine virtuelle Java) est une machine virtuelle permettant d’interpréter et d’exécuter le bytecode Java. (fr)
- La macchina virtuale Java, detta anche Java Virtual Machine o JVM, è la macchina virtuale che esegue i programmi in linguaggio bytecode, ovvero i prodotti della compilazione dei sorgenti Java. La JVM è formalmente una specifica, mantenuta da Sun Microsystems. Qualsiasi sistema che si comporti in modo coerente con tale specifica sarà quindi da considerarsi una particolare implementazione della JVM. (it)
- Java仮想マシン (Java VM) は、Javaバイトコードとして定義された命令セットを実行するスタック型の仮想マシン。APIやいくつかのツールとセットでJava Runtime Environment (JRE) としてリリースされている。この環境を移植することで、さまざまな環境でJavaのプログラムを実行することができる。 (ja)
- Een Java Virtual Machine ofwel JVM is een platformonafhankelijke omgeving voor het uitvoeren van Java-programma's. (nl)
- Wirtualna maszyna Javy (ang. Java Virtual Machine, w skrócie JVM) to zależny od platformy system uruchomieniowy dla programów. Standardowo służy programom napisanym w języku Java, ale można go używać także jako środowisko uruchomieniowe także dla innych języków, np. Jython to implementacja Pythona właśnie na JVM. (pl)
- Máquina virtual Java (do inglês Java Virtual Machine - JVM) é um programa que carrega e executa os aplicativos Java, convertendo os bytecodes em código executável de máquina. A JVM é responsável pelo gerenciamento dos aplicativos, à medida que são executados. (pt)
- Java Virtual Machine (сокращенно Java VM, JVM) — виртуальная машина Java — основная часть исполняющей системы Java, так называемой Java Runtime Environment (JRE). Виртуальная машина Java интерпретирует и исполняет байт-код Java, предварительно созданный из исходного текста Java-программы компилятором Java. (ru)
- Java Virtual Machine, JVM, är en programvara utvecklad Sun Microsystems. JVM är det program som "kör" program skrivna i Java. (sv)
- Java虚拟机(Java Virtual Machine)是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。 (zh)
|