Perbezaan antara JVM dan JRE

Perbezaan antara JVM dan JRE

JVM vs JRE

Java adalah bahasa pengaturcaraan silang platform. Ia juga mematuhi prinsip "Tulis Sekali, Jalankan Di Mana -mana". Program yang ditulis di Java boleh disusun ke Java Bytecode oleh pengkompil Java. Kemudian, bytecode boleh dilaksanakan di mana -mana platform yang menjalankan JRE (Java Runtime Environment). JRE termasuk JVM (Mesin Maya Java), Perpustakaan Pangkalan (yang melaksanakan Java API) dan fail sokongan lain. JVM adalah mesin pengkomputeran abstrak yang bertindak sebagai pengantara antara platform JRE khusus dan kod Java.

Apa itu JVM?

JVM adalah jenis mesin maya yang digunakan oleh mesin untuk melaksanakan java bytecode. Menurut Sun Microsystems (yang membangunkan Java sehingga ia dibeli oleh Oracle, baru -baru ini), terdapat lebih dari 4 bilion peranti yang diaktifkan 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 menemani JVM. Malah, JRE adalah satu bundle yang mengandungi JVM dan kelas yang melaksanakan API Java. JVM adalah komponen yang sangat penting, yang menampung sifat pengaturcaraan "kompilasi sekali, berjalan di mana sahaja". Selagi JVM berjalan, kod Java anda boleh berjalan di atasnya, tanpa mengira platform yang digunakan dalam mesin. Inilah sebabnya mengapa Java dipanggil bahasa lintas platform atau pelbagai platform.

Apa itu JRE?

JRE adalah persekitaran pelaksanaan di mana kod Java dijalankan. Biasanya, JRE terdiri daripada JVM, kelas asas standard (yang melaksanakan API Java Base) 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 bercakap dengan komponen perkakasan yang sepadan. Mempunyai JRE yang dipasang pada sistem anda adalah suatu keharusan untuk menjalankan sebarang kod Java di mesin anda. Walau bagaimanapun, JRE tidak termasuk pengkompil, debugger atau alat lain yang diperlukan untuk pembangunan program Java (seperti Appletviewer dan Javac). Sekiranya anda perlu membangunkan program di Java, anda perlu mempunyai JDK (Java Development Kit), yang termasuk JRE juga.

Apakah perbezaan antara dan JVM dan JRE?

Walaupun, dalam penggunaan seharian, istilah JVM dan JRE digunakan secara bergantian, mereka mempunyai perbezaan mereka. 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 hubungan antara pelaksanaan JRE khusus platform dan perpustakaan Java standard. Oleh itu, JVM adalah entiti yang menyediakan abstraksi dari butiran pelaksanaan dalaman kepada pengaturcara. Dan bertanggungjawab untuk mentafsir bytecode yang disusun. Walau bagaimanapun, JVM memerlukan perpustakaan asas dan fail sokongan lain untuk melaksanakan java bytecode. Tetapi kadang -kadang, JRE hanya dikenal pasti sebagai pelaksanaan JVM.