JVM vs JRE
Java adalah bahasa pemrograman lintas platform. Itu juga menganut prinsip "menulis sekali, jalankan di mana saja". Program yang ditulis dalam Java dapat dikompilasi ke dalam bytecode Java oleh kompiler Java. Kemudian, bytecode dapat dieksekusi pada platform apa pun yang menjalankan JRE (Java Runtime Environment). JRE mencakup JVM (Java Virtual Machine), pustaka dasar (yang mengimplementasikan Java API) dan file pendukung lainnya. JVM adalah mesin komputasi abstrak yang bertindak sebagai mediator antara platform JRE spesifik dan kode Java.
Apa itu JVM??
JVM adalah jenis mesin virtual yang digunakan oleh mesin untuk mengeksekusi bytecode Java. Menurut Sun Microsystems (yang mengembangkan Java hingga dibeli oleh Oracle, baru-baru ini), ada lebih dari 4 miliar perangkat berkemampuan JVM di dunia. Lebih khusus lagi, Java Virtual Machine adalah mesin komputasi abstrak yang diimplementasikan pada perangkat keras standar dan sistem operasi. Salah satu fungsi penting yang disediakan oleh JVM adalah penanganan pengecualian otomatis. Biasanya, koleksi perpustakaan standar menemani JVM. Faktanya, JRE adalah bundel yang berisi JVM dan kelas-kelas yang mengimplementasikan Java API. JVM adalah komponen yang sangat penting, yang mengakomodasi sifat "kompilasi sekali, jalankan di mana saja" dari bahasa pemrograman Java. Selama JVM berjalan, kode Java Anda dapat berjalan di atasnya, terlepas dari platform yang digunakan dalam mesin. Inilah sebabnya mengapa Java disebut bahasa lintas platform atau multi-platform.
Apa itu JRE??
JRE adalah lingkungan eksekusi tempat kode Java dijalankan. Biasanya, JRE terdiri dari JVM, kelas basis standar (yang mengimplementasikan API Java dasar) dan file pendukung lainnya. Jenis dan struktur JRE bervariasi tergantung pada sistem operasi dan arsitektur CPU. Ketika kode Java dijalankan, JRE akan berkomunikasi dengan sistem operasi, yang pada gilirannya akan berbicara dengan komponen perangkat keras yang sesuai. Memiliki JRE yang diinstal pada sistem Anda adalah suatu keharusan untuk menjalankan kode java pada mesin Anda. Namun, JRE tidak termasuk kompiler, debugger atau alat lain yang diperlukan untuk pengembangan program Java (seperti appletviewer dan javac). Jika Anda perlu mengembangkan program di Jawa, Anda harus memiliki JDK (Java Development Kit), yang mencakup JRE juga.
Apa perbedaan antara dan JVM dan JRE?
Meskipun, dalam penggunaan sehari-hari, istilah JVM dan JRE digunakan secara bergantian, mereka memiliki perbedaan. JVM adalah mesin virtual yang berjalan di atas sistem operasi, sedangkan JRE adalah lingkungan eksekusi runtime. JVM adalah bagian dari JRE. Spesifikasi JVM bertindak sebagai penghubung antara implementasi JRE khusus platform dan perpustakaan Java standar. Oleh karena itu, JVM adalah entitas yang menyediakan abstraksi dari detail implementasi batin kepada programmer. Dan itu bertanggung jawab untuk menginterpretasikan bytecode yang dikompilasi. Namun, JVM membutuhkan pustaka dasar dan file pendukung lainnya untuk menjalankan bytecode java. Tetapi kadang-kadang, JRE hanya diidentifikasi sebagai implementasi JVM.