Perbezaan Antara JVM dan JRE
JVM vs JRE
Java adalah bahasa pengantar silang bahasa. Ia juga mematuhi prinsip "menulis sekali, jalankan mana-mana". Program yang ditulis di Java boleh disusun ke Java bytecode oleh compiler 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 API Java) dan fail sokongan lain. JVM adalah mesin pengkomputeran abstrak yang bertindak sebagai mediator antara platform JRE spesifik dan kod Java.
Apa itu JVM?
JVM adalah sejenis mesin maya yang digunakan oleh mesin untuk melaksanakan Java bytecode. Menurut Sun Microsystems (yang membangun Java sehingga dibeli oleh Oracle, baru-baru ini), terdapat lebih dari 4 bilion peranti yang dibolehkan JVM di dunia. Lebih khusus lagi, Java Virtual Machine adalah mesin pengkomputeran abstrak yang dilaksanakan pada sistem perkakasan dan operasi standard. Salah satu fungsi penting yang disediakan oleh JVM adalah pengendalian pengecualian automatik. Biasanya, koleksi perpustakaan standard menemani JVM. Malah, JRE adalah satu bundle yang mengandungi JVM dan kelas-kelas yang melaksanakan API Java. JVM adalah komponen yang sangat penting, yang mengakomodasi "kompilasi sekali, menjalankan mana-mana" sifat bahasa pengaturcaraan Java. Selagi JVM sedang berjalan, kod Java anda boleh berjalan di atasnya, tanpa mengira platform yang digunakan dalam mesin itu. 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 piawai (yang melaksanakan API API asas) dan fail sokongan lain. Jenis dan struktur JRE berbeza-beza bergantung kepada sistem operasi dan seni bina CPU. Apabila kod Java dijalankan, JRE akan berkomunikasi dengan sistem operasi, yang seterusnya akan berbincang dengan komponen perkakasan yang sepadan. Memiliki JRE dipasang pada sistem anda adalah satu kemestian untuk menjalankan sebarang kod java pada mesin anda. Bagaimanapun, JRE tidak termasuk pengkompil, debugger atau alat lain yang diperlukan untuk pembangunan program Java (seperti appletviewer dan javac). Jika anda perlu mengembangkan program di Jawa, anda perlu mempunyai JDK (Java Development Kit), yang termasuk JRE juga.
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, manakala JRE adalah persekitaran pelaksanaan runtime. JVM adalah sebahagian daripada JRE. Spesifikasi JVM bertindak sebagai kaitan antara pelaksanaan JRE khusus platform dan perpustakaan Java standard.Oleh itu, JVM adalah entiti yang menyediakan abstrak dari butiran pelaksanaan dalaman kepada pengaturcara. Dan ia 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.