Apakah komponen Senibina Java?

Senibina Java menggabungkan proses penyusunan dan penafsiran. Dalam artikel ini, saya akan memberitahu anda mengenai pelbagai komponen Senibina Java

Senibina Java menggabungkan proses penyusunan dan penafsiran. Ia menerangkan pelbagai proses yang terlibat semasa merumuskan a . Sebelum saya memulakan topik, izinkan saya memperkenalkan anda dengan agenda artikel ini.

Petunjuk yang disebutkan di bawah ini akan menjadi topik perbincangan kami:





Mari kita mulakan dengan memahami apa sebenarnya Java Architecture?



Apa itu Senibina Java?

Di sini, saya akan menerangkan seni bina java dengan langkah mudah.

  • Di Jawa, terdapat proses penyusunan dan penafsiran.
  • Kod yang ditulis dalam , diubah menjadi kod byte yang dilakukan oleh Java Compiler.
  • Kod bait, kemudian diubah menjadi kod mesin oleh JVM.
  • Kod Mesin dilaksanakan secara langsung oleh mesin.

Gambar rajah ini menggambarkan kerja dalaman kod Java, atau tepatnya, Java Architecture!



JVM - Senibina Java - EdurekaSekarang, mari kita menggali lebih mendalam mengenai seni bina java dan membincangkan pelbagai perkara .

Komponen Senibina Java

Terdapat tiga komponen utama bahasa Java: JVM, JRE, dan JDK .

Java Virtual Machine, Java Runtime Environment dan Java Development Kit masing-masing.

Izinkan saya menghuraikan masing-masing satu persatu:

Mesin Maya Java:

Pernah dengar mengenai WORA? (Tulis sekali Jalankan Ke Mana sahaja). Nah, aplikasi Java disebut WORA kerana kemampuannya menjalankan kod di platform mana pun. Ini dilakukan hanya kerana JVM. JVM adalah komponen platform Java yang menyediakan lingkungan untuk melaksanakan program Java. JVM menafsirkan bytecode ke dalam kod mesin yang dijalankan di mesin di mana program Java dijalankan.

Jadi, secara ringkas, JVM melakukan fungsi berikut:

  • Memuatkan kod
  • Mengesahkan kod
  • Melaksanakan kod
  • Menyediakan persekitaran jangka masa

Sekarang, izinkan saya menunjukkan seni bina JVM. Begini!

Penjelasan:

Pemuat Kelas : Pemuat kelas adalah subsistem JVM. Ia digunakan untuk memuatkan fail kelas. Setiap kali kita menjalankan program java, pemuat kelas memuatkannya terlebih dahulu.

Kawasan kaedah kelas : Ini adalah salah satu Kawasan Data di JVM, di mana data Kelas akan disimpan. Pembolehubah Statik, Blok Statik, Kaedah Statik, Kaedah Instance disimpan di kawasan ini.

Timbunan : Tumpukan dibuat semasa JVM dimulakan. Ia mungkin bertambah atau berkurang dalam ukuran semasa aplikasi berjalan.

Timbunan : Susunan JVM dikenali sebagai timbunan benang. Ini adalah kawasan data dalam memori JVM yang dibuat untuk utas pelaksanaan tunggal. Susunan JVM utas digunakan oleh utas untuk menyimpan pelbagai elemen iaitu pemboleh ubah tempatan, hasil separa, dan data untuk kaedah panggilan dan pengembalian.

Tumpukan asli : Ia menggunakan semua kaedah asli yang digunakan dalam aplikasi anda.

Enjin Pelaksanaan:

  • Penyusun Jit
  • Pengutip sampah

Penyusun JIT: The Penyusun Just-In-Time (JIT) adalah sebahagian daripada persekitaran waktu proses. Ini membantu dalam meningkatkan prestasi aplikasi Java dengan menyusun kod byte ke kod mesin pada waktu berjalan. Penyusun JIT diaktifkan secara lalai. Apabila kaedah disusun, JVM memanggil kod yang disusun kaedah itu secara langsung. Penyusun JIT menyusun bytecode kaedah itu ke dalam kod mesin, menyusunnya 'tepat pada waktunya' untuk dijalankan.

Pemungut sampah: Seperti namanya menjelaskan bahawa Pengutip Sampah bermaksud mengumpulkan bahan yang tidak digunakan. Baiklah, di JVM kerja ini dilakukan oleh pengumpulan sampah. Ia mengesan setiap objek yang terdapat di ruang timbunan JVM dan membuang objek yang tidak diingini.
Pengutip sampah berfungsi dalam dua langkah mudah yang dikenali sebagai Mark dan Sapu:

  • Tandakan - di sinilah pengumpul sampah mengenal pasti memori mana yang digunakan dan mana yang tidak
  • Sapu - ia menghilangkan objek yang dikenal pasti semasa fasa “mark”.

Persekitaran Java Runtime:

Perisian JRE membina lingkungan runtime di mana program Java dapat dijalankan. JRE adalah sistem on-disk yang mengambil kod Java anda, menggabungkannya dengan perpustakaan yang diperlukan, dan memulakan JVM untuk melaksanakannya. JRE mengandungi perpustakaan dan perisian yang diperlukan oleh program Java anda untuk dijalankan. JRE adalah bahagian dari JDK (yang akan kita kaji kemudian) tetapi boleh dimuat turun secara berasingan.

Kit Pembangunan Java:

Java Development Kit (JDK) adalah lingkungan pengembangan perangkat lunak yang digunakan untuk mengembangkan aplikasi dan applet Java. Ia mengandungi JRE dan beberapa alat pengembangan, jurubahasa / pemuat (java), penyusun (javac), archiver (balang), penjana dokumentasi (javadoc) yang disertakan dengan alat lain.

Kawasan biru yang ditunjukkan dalam rajah adalah JDK. Sekarang, izinkan saya menghuraikan alat pembangunan untuk anda semua.

jawa : ia adalah pelancar untuk semua aplikasi java.
javac : pemohon bahasa pengaturcaraan java.
javadoc : ia adalah penjana dokumentasi API.
balang : membuat dan mengurus semua fail JAR.

Melangkah maju dengan seni bina Java, mari kita memahami bagaimana platform Java bebas?

Bagaimana platform Java bebas?

Bilakah bahasa pengaturcaraan dipanggil bebas platform? Baiklah, jika dan hanya jika ia dapat dijalankan pada semua sistem operasi yang ada berkenaan dengan pengembangan dan penyusunannya.
Sekarang, Jawa bebas platform hanya kerana bytecode. Izinkan saya memberitahu anda apa sebenarnya kod bytec? Secara sederhana,
Bytecode adalah kod JVM yang difahami mesin.
Pelaksanaan bytecode di Java membuktikan bahawa bahasa itu bebas dari platform.
Di sini, saya akan menunjukkan kepada anda langkah-langkah yang terlibat dalam proses pelaksanaan byteecode java.

Berikut adalah penjelasan mengenai langkah-langkah yang terlibat:

sample.java → javac (sample. class) → JVM (sample.obj) → output akhir

Kod sumber pertama digunakan oleh penyusun java dan ditukar dalam fail .class. Kod fail kelas dalam bentuk kod bait dan fail kelas itu digunakan oleh JVM untuk menukar menjadi fail objek. Selepas itu, anda dapat melihat hasil akhir di skrin anda.

Untuk maju dalam artikel seni bina Java, mari kita memahami konsep JIT di Jawa .

JIT di Jawa

Penyusun Just In Time yang biasanya dikenali sebagai JIT, pada dasarnya bertanggungjawab untuk pengoptimuman prestasi aplikasi berasaskan java pada waktu berjalan. Prestasi aplikasi bergantung pada penyusun.
Berikut adalah gambarajah ringkas yang menunjukkan kepada anda proses dalaman yang sedang berlaku.

JIT Compiler - Senibina Java - Edureka

Penyusun JIT menyusun kod byte kaedah menjadi kod mesin, menyusunnya 'Just In Time' untuk dijalankan. Apabila kaedah disusun, JVM memanggil kod yang disusun kaedah itu secara langsung.
Mari selami lebih mendalam:
Kod bait harus ditafsirkan atau disusun mengikut arahan mesin yang betul bergantung pada set arahan yang disediakan. Juga, ini dapat dilaksanakan secara langsung jika seni bina arahan berdasarkan kod bait. Mentafsirkan kod bait mempengaruhi kelajuan pelaksanaan.
Untuk meningkatkan prestasi, penyusun JIT berinteraksi dengan Java Virtual Machine (JVM) pada waktu berjalan dan menyusun urutan bytecode yang sesuai ke dalam kod mesin asli (seperti yang ditunjukkan dalam rajah). Semasa menggunakan penyusun JIT, perkakasan dapat melaksanakan kod asli, berbanding dengan meminta JVM menafsirkan urutan bytecode yang sama berulang kali dan menimbulkan overhead untuk proses terjemahan.

Dengan ini, saya telah sampai ke penghujung artikel ini mengenai Java Architecture. Saya harap topik yang dibincangkan di atas memberi nilai tambah kepada pengetahuan Java anda. Nantikan lebih banyak artikel!

cara mengubah berganda menjadi int java

Sekarang setelah anda memahami asas-asas Java, lihat oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Kursus latihan dan pensijilan Java J2EE dan SOA Edureka 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.

Ada soalan untuk kami? Sila sebutkan di bahagian komen di blog 'Java Architecture and komponennya' dan kami akan menghubungi anda secepat mungkin.