Alokasi dan daur ulang memori Java semuanya secara otomatis diselesaikan oleh proses pengumpulan sampah JVM. Tidak seperti C, pengembang Java tidak perlu menulis kode mereka sendiri untuk mengimplementasikan pengumpulan sampah. Ini adalah salah satu dari banyak fitur yang Java sangat populer di kalangan semua orang, dan dapat membantu programmer lebih baik menulis program Java.
Tutorial ini adalah bagian pertama dari seri. Istilah dasar akan dijelaskan terlebih dahulu, seperti JDK, JVM, JRE, dan Hotspotvm. Selanjutnya, kami akan memperkenalkan struktur JVM dan struktur memori java heap. Memahami dasar -dasar ini penting untuk memahami pengetahuan daur ulang sampah berikutnya.
Istilah java kunci
Javaapi: Serangkaian perpustakaan yang dienkapsulasi yang membantu pengembang membuat aplikasi Java.
Java Development Toolkit (JDK): Serangkaian alat untuk membantu pengembang membuat aplikasi Java. JDK berisi alat untuk mengkompilasi, menjalankan, mengemas, mendistribusikan dan memantau aplikasi Java.
Java Virtual Machine (JVM): JVM adalah struktur komputer abstrak. Program Java ditulis sesuai dengan fitur JVM. JVM khusus untuk sistem operasi dan dapat menerjemahkan instruksi Java ke dalam instruksi yang mendasari sistem dan mengeksekusi. JVM memastikan platform-independen Java.
Java Runtime Environment (JRE): JRE termasuk implementasi JVM dan Java API.
Mesin virtual javahotspot
Setiap implementasi JVM dapat mengadopsi pendekatan yang berbeda untuk mengimplementasikan mekanisme pengumpulan sampah. Sebelum akuisisi Sun, Oracle menggunakan jrockitjvm dan setelah akuisisi, hotspotjvm digunakan. Saat ini Oracle memiliki dua implementasi JVM dan dua implementasi JVM akan bergabung menjadi satu setelah periode waktu tertentu.
HotspotJVM adalah bagian dari komponen inti saat ini dari standar platform Oraclese. Dalam tutorial koleksi sampah ini, kami akan memahami prinsip -prinsip pengumpulan sampah berdasarkan mesin virtual hotspot.
Arsitektur JVM
Gambar berikut merangkum komponen utama JVM. Dalam arsitektur JVM, dua komponen utama yang terkait dengan koleksi sampah adalah tumpukan memori dan pengumpul sampah. Heap Memory adalah area data memori yang digunakan untuk menyimpan instance objek saat runtime. Pengumpul sampah juga akan beroperasi di sini. Sekarang kita tahu bagaimana komponen -komponen ini bekerja dalam kerangka kerja.
Memori java heap
Penting untuk memahami peran model memori JVM yang ada dalam memori heap. Saat runtime, instance Java disimpan di area memori tumpukan. Ketika suatu objek tidak lagi direferensikan, kondisi dihapus dari memori heap. Dalam proses pengumpulan sampah, objek -objek ini akan dihapus dari heap memori dan ruang memori akan didaur ulang. Tiga area utama memori utama:
Generasi muda
Eden Space (Edenspace, setiap contoh memasuki area memori runtime melalui Eden Space)
S0Survivor Space (S0Survivorspace, contoh yang ada untuk waktu yang lama akan dipindahkan dari ruang Eden ke ruang s0survivor)
S1Survivor Space (contoh yang ada untuk jangka waktu yang lebih lama akan dipindahkan dari ruang S0Survivor ke ruang s1survivor)
Contoh generasi lama akan dipromosikan dari S1 ke Tenured (Generasi Seumur Hidup)
Generasi permanen berisi informasi meta tentang kelas, metode, dan detail lainnya
Ruang generasi permanen telah dihapus dalam fitur Java 8.
Meringkaskan
Di atas adalah seluruh konten artikel ini secara singkat memperkenalkan mekanisme pengumpulan sampah Java, dan saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke topik terkait lainnya di situs ini. Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!