Mesin Virtual Java

**Mesin virtual java** ( atau disingkat **JVM**) merupakan mesin virtual yang digunakan secara khusus mengeksekusi berkas bytecode java. Menurut Sun Microsystems (sekarang merupakan bagian dari Oracle Corporation), terdapat lebih dari 4,5 miliar lebih perangkat keras di dunia yang memiliki mesin virtual java di dalamnya.

## Pandangan umum
JVM merupakan perangkat lunak yang dikembangkan secara khusus agar terlepas dari ketergantungan atas perangkat keras serta sistem operasi tertentu. JVM menyediakan lingkungan kerja yang dibutuhkan untuk menjalankan aplikasi berbasis java serta mengotomatisasikan fitur-fitur seperti penanganan kesalahan. JVM umumnya didistribusikan bersama dengan seperangkat pustaka dasar yang mengimplementasikan antarmuka pemrograman aplikasi java, *Application Programming Interface*' (API) yang dinamai sebagai Java Runtime Environment (JRE).

Program yang dieksekusi oleh JVM merupakan program berbasis bytecode yang umumnya ditulis dan dikompilasi dengan menggunakan bahasa pemrograman Java, tetapi saat ini bisa juga berasal dari bahasa pemrograman lain seperti: Jython (Python), Groovy, JRuby (Ruby).

Mesin virtual java standarnya dibuat oleh Oracle, tetapi mesin-mesin virtual java lainnya yang menggunakan merek dagang "JAVA" boleh dibuat oleh perusahaan lain sejauh produk-produk tersebut tunduk pada spesifikasi yang ditetapkan serta kesepakatan atas kontrak obligasi antara perusahaan pembuat dengan Oracle.

## Lisensi
Mulai dari J2SE 5.0, perubahan-perubahan atas spesifikasi JVM dikembangkan dengan menggunakan basis JCP sebagai JSR 924. Pada tahun 2006, perubahan atas spesifikasi untuk mendukung perubahan yang diusulkan terhadap format berkas class (JSR202) telah dilakukan sebagai rilis pengelolaan dari JSR 924. Spesifikasi atas JVM dipublikasikan pula dalam bentuk buku, dikenal sebagai "buku biru" (*blue book*). Isi kata pengantarnya adalah:

JVM milik Oracle dikenal sebagai *HotSpot*, sementara implementasi clean-room Java lainnya termasuk di dalamnya adalah Kaffe, IBM J9, dan Dalvik. Oracle secara ketat menjaga kontrol atas merek dagang Java, yang digunakan untuk mensertifikasi paket-paket perangkat lunak sejenis agar senantiasa selaras serta memiliki kompatibilitas penuh dengan spesifikasi yang telah ditetapkan.

## JVM pada peramban web
Di awal masa pakai platform Java, JVM dipasarkan sebagai teknologi peramban untuk membuat aplikasi Rich Web. , kebanyakan peramban web dan sistem operasi menggabungkan peramban web tidak dikirim dengan plug-in Java, maupun mereka memperbolehkan pemuatan samping plugin non-Flash manapun. Plugin peramban Java sudah tidak digunakan lagi pada JDK 9.

### JVM dan interpreter JavaScript
Sejak Mei 2016, JavaPoly mengizinkan pengguna untuk memasukan pustaka Java yang tidak dimodifikasi, dan memanggilnya langsung dari JavaScript. JavaPoly memungkinkan situs web menggunakan perpustakaan Java yang tidak dimodifikasi, bahkan jika penggunanya tidak mempunyai Java terinstal di komputer mereka.

## Lihat pula
* Java
* Mesin virtual
* Bytecode

## Catatan kaki

* *[http://java.sun.com/docs/books/vmspec/2nd-edition/jvms-clarify.html Clarifications and Amendments to the Java Virtual Machine Specification, Second Edition]* includes list of changes to be made to support J2SE 5.0 and JSR 45
* JSR 45, specifies changes to the class file format to support source-level debugging of languages such as JavaServer Pages (JSP) and SQLJ that are translated to Java

## Referensi

## Pranala luar
*  The Java Virtual Machine Specification
*  
*  Sun to build virtual machine for iPhone - ComputerWorld 
*  Java Virtual Machine Download Link
*  JVM implementation in pure Java