Apa yang Anda Perlu Tahu Mengenai Mesin Maya Java?



Blog ini akan merangkumi konsep mesin maya java secara terperinci dengan komponen seni bina dan perbezaan utama antara JVM, JRE dan JDK

bahasa telah menjadi gergasi dalam industri IT sejak sekian lama. Ia mempunyai beberapa konsep terkemuka yang menjadikannya lebih baik daripada bahasa pengaturcaraan yang lain. Salah satu konsepnya ialah mesin maya Java, dalam artikel ini, kita akan belajar tentang pelbagai aspek mesin maya secara terperinci. Berikut adalah topik yang dibincangkan dalam blog ini:

Apa itu Mesin Maya Java?

Mesin maya Java adalah mesin abstrak bebas platform yang menyediakan persekitaran runtime di mana kod bait Java dijalankan.





Ini adalah bagian dari lingkungan runtime Java yang mengubah Java bytecode menjadi bahasa yang dapat dibaca mesin. Yang utama yang kita miliki dalam program Java sebenarnya disebut oleh mesin virtual Java.

jvm - mesin maya java - edureka

Mengapa Kita Memerlukan Mesin Maya Java?

Kami memerlukan mesin maya Java untuk tugas-tugas yang dilakukannya yang sangat diperlukan untuk pengembangan yang melibatkan Java. Berikut adalah beberapa tugas yang dilakukan oleh mesin maya Java.



java c ++ python
  • Memuatkan kod
  • Pengesahan kod
  • Pelaksanaan kod
  • Ini menyediakan persekitaran masa berjalan untuk aplikasi
  • Kawasan ingatan
  • Daftar set
  • Menyediakan timbunan pengumpulan sampah
  • Melaporkan kesilapan maut
  • Menyediakan a kelas format fail

Dengan semua operasi ini, mesin maya Java adalah bahagian yang tidak terpisahkan dari pengembangan Java. Mari cuba fahami bagaimana ia berfungsi dengan bantuan seni bina mesin maya Java.

Senibina Mesin Maya Java

Senibina mesin maya Java cukup sederhana, ia mempunyai kawasan memori, pemuat kelas dan mesin pelaksanaan antara komponen lain. mari kita bincangkan masing-masing secara terperinci.

Pemuat Kelas

Ini adalah subsistem yang digunakan untuk memuatkan fail kelas. Setiap kali kita menjalankan program di java, ia dimuat terlebih dahulu oleh ClassLoader. fungsi utama merangkumi inisialisasi, penghubung dan pemuatan. Berikut ini adalah pemuat kelas bawaan di Java.



    • Tali kasut ClassLoader - Ini adalah kelas super Extension ClassLoader yang memuat fail rt.jar.

    • Sambungan ClassLoader - Ia memuat fail jar yang terdapat di dalam direktori.

    • Sistem / Aplikasi ClassLoader - Ia memuatkan classfile dari classpath.

    • Memuatkan Operasi - Mula-mula classLoader memuat fail .class dan menghasilkan data yang sesuai dalam format binari yang disimpan di kawasan kaedah.

    • Menghubungkan Operasi - Setelah memuatkannya menyiapkan, mengesahkan dan membuat resolusi. JVM memperuntukkan memori untuk pemboleh ubah kelas dan memulakan memori ke nilai lalai. Ini memastikan kebenaran fail .class dan apabila pengesahan gagal, kami mendapat ralat pengecualian runtime.

    • Permulaan - Semua pemboleh ubah statik diberikan dengan nilainya yang ditentukan dalam blok kod dalam fasa ini.

Memori JVM

  • Kawasan Kaedah - Ia menyimpan struktur untuk setiap kelas seperti kod, data lapangan, kumpulan pemalar runtime, data kaedah, dll.

  • Timbunan - Objek diperuntukkan pada waktu runtuh di timbunan.

    pindahkan fail ke contoh linux ec2
  • Tumpukan Bahasa JVM - Ia menyimpan pemboleh ubah dan hasil tempatan. Ini memainkan peranan penting dalam memohon dan mengembalikan hasil. Setiap kali kaedah dipanggil, bingkai dibuat dan dihancurkan sebaik sahaja permohonan tersebut berakhir atau selesai.

  • Daftar PC - Ini memiliki alamat atau lokasi JVMinstruction yang sedang dijalankan.

  • Tumpukan Kaedah Asli - Semua kaedah asli yang digunakan dalam aplikasi terdapat dalam timbunan kaedah asli.

  • Enjin Pelaksanaan - Enjin pelaksanaan mengandungi pemproses maya, jurubahasa dan a JIT penyusun.

  • Kaedah Asli Antara muka - Ia adalah yang menyediakan.

Setelah kita memahami seni bina JVM, mari kita lihat proses pelaksanaan dan penyusunan kod.

Proses Pelaksanaan

Langkah-langkah berikut berlaku semasa pelaksanaan dan penyusunan kod Java.

  • Kaedah utama disimpan dalam satu fail dan kaedah lain disimpan dalam fail yang berbeza.
  • Selepas penyusunan, ia akan menyediakan fail .class yang sesuai yang akan mempunyai kod bait tanpa pautan, tidak seperti C.
  • Semasa pelaksanaan, fail kelas disahkan untuk sebarang pelanggaran menggunakan Classloader.
  • Selepas ini, kod byt diubah menjadi kod mesin asli yang sesuai. Inilah juga sebab mengapa Java relatif lebih lambat.

Sekarang kita tahu, bagaimana pelaksanaannya berfungsi, mari kita lihat perbezaan antara JDK, JRE, dan JVM.

Perbezaan Antara JDK, JRE, dan JVM

Berikut adalah beberapa perbezaan penting antara JDK , JVM, dan JRE.

  1. JDK adalah singkatan dari Java development kit, dan JRE adalah singkatan dari Java runtime environment.
  2. JDK adalah untuk pembangunan sedangkan JRE adalah untuk persekitaran waktu berjalan.
  3. JVM adalah bahagian penting dari JDK dan JRE untuk menjalankan sebarang program Java.
  4. JVM adalah bahagian yang tidak terpisahkan dari pengaturcaraan Java dan menyediakan kebebasan platform.

Ini membawa kita ke akhir artikel ini di mana kita telah mengetahui tentang mesin maya Java secara terperinci. Saya harap anda jelas dengan semua yang telah dikongsi dengan anda dalam tutorial ini.

Sekiranya anda mendapati artikel ini mengenai 'Java Virtual Machine' relevan, periksa Edureka , syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia.

Kami di sini untuk membantu anda dalam setiap langkah dalam perjalanan anda dan membuat kurikulum yang dirancang untuk pelajar dan profesional yang ingin menjadi Pembangun Java. Kursus ini dirancang untuk memberi Anda awal dalam pengaturcaraan Java dan melatih anda untuk konsep Java teras dan maju bersama dengan pelbagai kerangka kerja Java seperti Hibernate & Spring.

Sekiranya anda menjumpai sebarang pertanyaan, jangan ragu untuk mengajukan semua pertanyaan anda di bahagian komen 'Java Virtual Machine' dan pasukan kami akan dengan senang hati menjawab.