Apa saja komponen Arsitektur Java?



Arsitektur Java menggabungkan proses kompilasi dan interpretasi. Pada artikel ini, saya akan memberi tahu Anda tentang berbagai komponen Arsitektur Java

Arsitektur Java menggabungkan proses kompilasi dan interpretasi. Ini menjelaskan berbagai proses yang terlibat saat merumuskan a . Sebelum saya mulai dengan topik izinkan saya memperkenalkan Anda dengan agenda untuk artikel ini.

Petunjuk yang disebutkan di bawah ini akan menjadi topik diskusi kita:





Mari kita mulai dengan memahami apa sebenarnya Arsitektur Java itu?



Apa itu Arsitektur Java?

Di sini, saya akan menjelaskan arsitektur java dalam langkah-langkah sederhana.

  • Di Jawa, ada proses kompilasi dan interpretasi.
  • Kode tertulis dalam , diubah menjadi kode byte yang dikerjakan oleh Java Compiler.
  • Kode byte, kemudian diubah menjadi kode mesin oleh JVM.
  • Kode Mesin dijalankan langsung oleh mesin.

Diagram ini menggambarkan kerja internal kode Java, atau tepatnya, Arsitektur Java!



JVM - Arsitektur Java - EdurekaSekarang, mari kita gali sedikit lebih dalam tentang arsitektur java dan berbicara tentang berbagai .

Komponen Arsitektur Java

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

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

Izinkan saya menguraikan masing-masing satu per satu:

Mesin Virtual Java:

Pernah dengar tentang WORA? (Tulis sekali Run Anywhere). Nah, aplikasi Java disebut WORA karena kemampuannya menjalankan kode di platform apa pun. Ini dilakukan hanya karena JVM. JVM adalah komponen platform Java yang menyediakan lingkungan untuk menjalankan program Java. JVM mengartikan bytecode menjadi kode mesin yang dijalankan di mesin tempat program Java dijalankan.

Singkatnya, JVM melakukan fungsi-fungsi berikut:

  • Memuat kode
  • Memverifikasi kode
  • Jalankan kode
  • Menyediakan lingkungan runtime

Sekarang, izinkan saya menunjukkan arsitektur JVM. Ini dia!

Penjelasan:

Pemuat Kelas : Class loader adalah subsistem JVM. Ini digunakan untuk memuat file kelas. Kapanpun kita menjalankan program java, class loader memuatnya terlebih dahulu.

Area metode kelas : Ini adalah salah satu Area Data di JVM, di mana data Kelas akan disimpan. Variabel Statis, Blok Statis, Metode Statis, Metode Instans disimpan di area ini.

Tumpukan : Heap dibuat saat JVM dijalankan. Ukurannya mungkin bertambah atau berkurang saat aplikasi berjalan.

Tumpukan : JVM stack dikenal sebagai tumpukan benang. Ini adalah area data dalam memori JVM yang dibuat untuk thread eksekusi tunggal. Tumpukan JVM dari sebuah utas digunakan oleh utas untuk menyimpan berbagai elemen yaitu variabel lokal, hasil parsial, dan data untuk memanggil metode dan pengembalian.

Tumpukan asli : Ini memasukkan semua metode asli yang digunakan dalam aplikasi Anda.

Mesin Eksekusi:

  • Kompiler JIT
  • Pemulung

Kompiler JIT: Itu Kompiler Just-In-Time (JIT) adalah bagian dari lingkungan runtime. Ini membantu dalam meningkatkan kinerja aplikasi Java dengan mengkompilasi bytecode ke kode mesin pada saat berjalan. Kompiler JIT diaktifkan secara default. Ketika sebuah metode dikompilasi, JVM memanggil kode terkompilasi dari metode itu secara langsung. Compiler JIT mengkompilasi bytecode dari metode tersebut ke dalam kode mesin, mengkompilasinya 'tepat pada waktunya' untuk dijalankan.

Pemulung: Seperti namanya menjelaskan itu Pemulung berarti mengumpulkan bahan yang tidak terpakai. Nah, di JVM pekerjaan ini dilakukan oleh Pengumpulan Sampah. Ini melacak setiap objek yang tersedia di ruang heap JVM dan menghapus yang tidak diinginkan.
Pengumpul sampah bekerja dalam dua langkah sederhana yang dikenal sebagai Mark and Sweep:

  • Mark - ini adalah tempat pengumpul sampah mengidentifikasi bagian mana dari memori yang digunakan dan mana yang tidak
  • Sapu - menghapus objek yang diidentifikasi selama fase 'tanda'.

Lingkungan Waktu Proses Java:

Perangkat lunak JRE membangun lingkungan runtime di mana program Java dapat dijalankan. JRE adalah sistem di disk yang mengambil kode Java Anda, menggabungkannya dengan pustaka yang diperlukan, dan memulai JVM untuk menjalankannya. JRE berisi pustaka dan perangkat lunak yang dibutuhkan oleh program Java Anda untuk dijalankan. JRE adalah bagian dari JDK (yang akan kita pelajari nanti) tetapi dapat diunduh secara terpisah.

Kit Pengembangan Java:

Java Development Kit (JDK) adalah lingkungan pengembangan perangkat lunak yang digunakan untuk mengembangkan aplikasi dan applet Java. Ini berisi JRE dan beberapa alat pengembangan, juru bahasa / pemuat (java), kompiler (javac), pengarsip (jar), generator dokumentasi (javadoc) disertai dengan alat lain.

Area biru yang ditunjukkan pada diagram adalah JDK. Sekarang, izinkan saya menjelaskan alat pengembangan untuk Anda semua.

Jawa : itu adalah peluncur untuk semua aplikasi java.
javac : penyusun bahasa pemrograman java.
javadoc.dll : itu adalah generator dokumentasi API.
botol : membuat dan mengelola semua file JAR.

Bergerak maju dengan arsitektur Java, mari kita pahami bagaimana platform Java itu independen?

Bagaimana platform Java independen?

Kapan ada bahasa pemrograman yang disebut platform-independent? Nah, jika dan hanya jika itu dapat berjalan di semua sistem operasi yang tersedia sehubungan dengan pengembangan dan kompilasi.
Sekarang, Jawa adalah platform-independen hanya karena bytecode. Izinkan saya memberi tahu Anda apa sebenarnya bytecode itu? Secara sederhana,
Bytecode adalah kode JVM yang dapat dimengerti mesin.
Eksekusi Bytecode di Java membuktikan bahwa itu adalah bahasa platform-independen.
Di sini, saya akan menunjukkan kepada Anda langkah-langkah yang terlibat dalam proses eksekusi bytecode java.

Di bawah ini adalah penjelasan dari langkah-langkah tersebut:

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

Kode sumber pertama digunakan oleh compiler java dan diubah menjadi file .class. Kode file kelas dalam bentuk kode byte dan file kelas itu digunakan oleh JVM untuk diubah menjadi file objek. Setelah itu, Anda dapat melihat hasil akhir di layar Anda.

Bergerak maju dalam artikel arsitektur Java, mari kita pahami konsep JIT di Jawa .

JIT di Jawa

Compiler Just In Time yang biasa dikenal sebagai JIT, pada dasarnya bertanggung jawab untuk optimalisasi kinerja aplikasi berbasis java pada saat dijalankan. Performa aplikasi bergantung pada kompiler.
Berikut adalah diagram sederhana yang menunjukkan kepada Anda proses internal yang sedang terjadi.

prasyarat untuk mempelajari pembelajaran mesin

JIT Compiler - Arsitektur Java - Edureka

Compiler JIT mengkompilasi kode byte dari metode ke dalam kode mesin, mengkompilasinya dengan “Just In Time” untuk dijalankan. Ketika sebuah metode dikompilasi, JVM memanggil kode terkompilasi dari metode itu secara langsung.
Mari selami lebih dalam:
Kode byte harus diinterpretasikan atau dikompilasi menjadi instruksi mesin yang benar tergantung pada set instruksi yang disediakan. Juga, ini dapat langsung dieksekusi jika arsitektur instruksi berbasis kode byte. Menafsirkan kode byte mempengaruhi kecepatan eksekusi.
Untuk meningkatkan kinerja, kompiler JIT berinteraksi dengan Java Virtual Machine (JVM) pada waktu proses dan menyusun urutan bytecode yang sesuai ke dalam kode mesin asli (seperti yang ditunjukkan pada diagram). Saat menggunakan kompiler JIT, perangkat keras dapat mengeksekusi kode asli, dibandingkan dengan meminta JVM menafsirkan urutan bytecode yang sama berulang kali dan menimbulkan overhead untuk proses terjemahan.

Dengan ini, saya telah mencapai akhir artikel ini tentang Arsitektur Java. Saya berharap topik yang dibahas di atas menambah nilai pengetahuan Java Anda. Nantikan artikel lainnya!

Sekarang Anda telah memahami dasar-dasar Java, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus pelatihan dan sertifikasi Java J2EE dan SOA Edureka dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java. Kursus ini dirancang untuk memberi Anda permulaan dalam pemrograman Java dan melatih Anda untuk konsep Java inti dan lanjutan bersama dengan berbagai kerangka kerja Java seperti Hibernate & Spring.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar di blog 'Arsitektur Java dan komponennya' dan kami akan menghubungi Anda kembali secepatnya.