JVM lwn JRE
Java ialah bahasa pengaturcaraan merentas platform. Ia juga mematuhi prinsip "tulis sekali, jalankan di mana-mana". Program yang ditulis dalam Java boleh dihimpun ke dalam kod bait Java oleh pengkompil Java. Kemudian, bytecode boleh dilaksanakan pada mana-mana platform yang menjalankan JRE (Java Runtime Environment). JRE termasuk JVM (Java Virtual Machine), perpustakaan asas (yang melaksanakan Java API) dan fail sokongan lain. JVM ialah mesin pengkomputeran abstrak yang bertindak sebagai pengantara antara JRE khusus platform dan kod Java.
Apakah itu JVM?
JVM ialah sejenis mesin maya yang digunakan oleh mesin untuk melaksanakan kod bait Java. Menurut Sun Microsystems (yang membangunkan Java sehingga ia dibeli oleh Oracle, baru-baru ini), terdapat lebih daripada 4 bilion peranti berdaya JVM di dunia. Lebih khusus lagi, Mesin Maya Java ialah mesin pengkomputeran abstrak yang dilaksanakan pada perkakasan dan sistem pengendalian standard. Salah satu fungsi penting yang disediakan oleh JVM ialah pengendalian pengecualian automatik. Biasanya, koleksi perpustakaan standard mengiringi JVM. Sebenarnya, JRE ialah himpunan yang mengandungi JVM dan kelas yang melaksanakan API Java. JVM ialah komponen yang sangat penting, yang menampung sifat "kompil sekali, jalankan di mana-mana" bahasa pengaturcaraan Java. Selagi JVM sedang berjalan, kod Java anda boleh berjalan di atasnya, tanpa mengira platform yang digunakan dalam mesin. Inilah sebabnya Java dipanggil bahasa merentas platform atau berbilang platform.
Apakah itu JRE?
JRE ialah persekitaran pelaksanaan di mana kod Java dijalankan. Biasanya, JRE terdiri daripada JVM, kelas asas standard (yang melaksanakan API Java asas) dan fail sokongan lain. Jenis dan struktur JRE berbeza-beza bergantung pada sistem pengendalian dan seni bina CPU. Apabila kod Java dijalankan, JRE akan berkomunikasi dengan sistem pengendalian, yang seterusnya akan bercakap dengan komponen perkakasan yang sepadan. Memasang JRE pada sistem anda adalah satu kemestian untuk menjalankan sebarang kod java pada mesin anda. Walau bagaimanapun, JRE tidak termasuk pengkompil, penyahpepijat atau sebarang alat lain yang diperlukan untuk pembangunan program Java (seperti appletviewer dan javac). Jika anda perlu membangunkan program dalam Java, anda perlu mempunyai JDK (Java Development Kit), yang termasuk JRE juga.
Apakah perbezaan antara JVM dan JRE?
Walaupun, dalam penggunaan harian, istilah JVM dan JRE digunakan secara bergantian, ia mempunyai perbezaannya. JVM ialah mesin maya yang berjalan di atas sistem pengendalian, manakala JRE ialah persekitaran pelaksanaan masa jalan. JVM adalah sebahagian daripada JRE. Spesifikasi JVM bertindak sebagai penghubung antara pelaksanaan JRE khusus platform dan perpustakaan Java standard. Oleh itu, JVM ialah entiti yang menyediakan abstraksi daripada butiran pelaksanaan dalaman kepada pengaturcara. Dan ia bertanggungjawab untuk mentafsir kod byte yang disusun. Walau bagaimanapun, JVM memerlukan perpustakaan asas dan fail sokongan lain untuk melaksanakan kod byte java. Tetapi kadangkala, JRE hanya dikenal pasti sebagai pelaksanaan JVM.