JVM vs JRE
Java adalah bahasa pengaturcaraan lintas platform. Ini juga mematuhi prinsip "tulis sekali, jalankan di mana saja". Program yang ditulis dalam Java dapat dikompilasi ke Java bytecode oleh penyusun Java. Kemudian, bytecode dapat dijalankan di platform mana pun yang menjalankan JRE (Java Runtime Environment). JRE merangkumi JVM (Java Virtual Machine), pustaka pangkalan (yang menerapkan Java API) dan fail sokongan lain. JVM adalah mesin pengkomputeran abstrak yang bertindak sebagai orang tengah antara platform JRE khusus dan kod Java.
Apa itu JVM?
JVM adalah sejenis mesin maya yang digunakan oleh mesin untuk melaksanakan bytecode Java. Menurut Sun Microsystems (yang mengembangkan Java hingga dibeli oleh Oracle, baru-baru ini), ada lebih dari 4 miliar peranti berkemampuan JVM di dunia. Lebih khusus lagi, Java Virtual Machine adalah mesin pengkomputeran abstrak yang dilaksanakan pada perkakasan dan sistem operasi standard. Salah satu fungsi penting yang disediakan oleh JVM adalah pengendalian pengecualian automatik. Biasanya, koleksi perpustakaan standard menyertai JVM. Sebenarnya, JRE adalah kumpulan yang mengandungi JVM dan kelas yang melaksanakan Java API. JVM adalah komponen yang sangat penting, yang mengakomodasi sifat "kompilasi sekali, jalankan di mana saja" bahasa pengaturcaraan Java. Selagi JVM berjalan, kod Java anda dapat berjalan di atasnya, tanpa mengira platform yang digunakan dalam mesin. Inilah sebabnya mengapa Java dipanggil bahasa lintas platform atau berbilang platform.
Apa itu JRE?
JRE adalah persekitaran pelaksanaan di mana kod Java dijalankan. Biasanya, JRE terdiri daripada JVM, kelas asas standard (yang menerapkan API asas Java) dan fail sokongan lain. Jenis dan struktur JRE berbeza bergantung pada sistem operasi dan seni bina CPU. Apabila kod Java dijalankan, JRE akan berkomunikasi dengan sistem operasi, yang seterusnya akan berbicara dengan komponen perkakasan yang sesuai. Memasang JRE pada sistem anda adalah mustahak untuk menjalankan sebarang kod java pada mesin anda. Walau bagaimanapun, JRE tidak termasuk penyusun, debugger atau alat lain yang diperlukan untuk pengembangan program Java (seperti appletviewer dan javac). Sekiranya anda perlu mengembangkan program di Java, Anda harus memiliki JDK (Java Development Kit), yang juga mencakup JRE.
Apakah perbezaan antara dan JVM dan JRE?
Walaupun, dalam penggunaan sehari-hari, istilah JVM dan JRE digunakan secara bergantian, mereka mempunyai perbezaannya. JVM adalah mesin maya yang berjalan di atas sistem operasi, sementara JRE adalah persekitaran pelaksanaan runtime. JVM adalah sebahagian daripada JRE. Spesifikasi JVM bertindak sebagai penghubung antara pelaksanaan JRE khusus platform dan perpustakaan Java standard. Oleh itu, JVM adalah entiti yang memberikan pengabaian dari perincian pelaksanaan dalaman kepada pengaturcara. Dan bertanggungjawab untuk mentafsirkan bytecode yang disusun. Walau bagaimanapun, JVM memerlukan perpustakaan asas dan fail sokongan lain untuk melaksanakan bytecode java. Tetapi kadang-kadang, JRE hanya dikenali sebagai pelaksanaan JVM.