Rumah >Java >javaTutorial >Jenis Pengumpul Sampah di Jawa
Jenis pengumpul sampah Java menentukan jenis yang kami gunakan untuk membangunkan program. Pengumpulan sampah adalah ciri penting Java. Di Jawa, kami menggunakan kutipan sampah untuk mengosongkan memori yang tidak lagi digunakan. Pengumpul sampah menjejaki semua objek yang masih digunakan dan menandai objek yang lain sebagai sampah. Pengumpul sampah menggunakan algoritma sapu dan tanda.
Di Jawa, kutipan sampah hanyalah pengurusan ingatan; kami melakukan perkara yang sama dengan menggunakan JVM. Dengan menggunakan kutipan sampah, kita tidak perlu mengendalikan peruntukan dan deallokasi sesuatu objek dengan menggunakan pengaturcara. Dalam aplikasi java memperuntukkan dan membebaskan memori dengan menggunakan sistem pengendalian, dan kami menyediakan perkara yang sama daripada aplikasi dan pengumpulan sampah pembolehubah baharu.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Java menawarkan berbilang pengumpul sampah, yang memenuhi keperluan aplikasi yang berbeza. Memilih pemungut sampah yang sesuai untuk aplikasi kami adalah sangat penting untuk meningkatkan prestasi aplikasi kami. Java menawarkan pelbagai jenis pengumpul sampah untuk memenuhi keperluan aplikasi.
Di bawah adalah jenis pengumpul sampah Java.
Kami menggunakan jenis tersebut mengikut keperluan kami seperti berikut;
Kerja dan prestasi setiap pemungut sampah adalah berbeza; ia mengandungi kebaikan dan keburukan mereka sendiri. Java membolehkan kami memilih mana-mana pemungut sampah yang digunakan oleh JVM. Pada masa pemilihan pemungut sampah, kita perlu meluluskan hujah JVM.
Pengumpul sampah ini berfungsi sambil memegang semua benang aplikasi. Oleh itu, kita boleh mengatakan bahawa benang permohonan kita membeku dengan menggunakan proses pemungut sampah bersiri; proses ini dikenali sebagai dunia dan menghentikan peristiwa. Untuk mengakui penggunaan pengumpul sampah bersiri dalam persekitaran pelayan, kami boleh menggunakan perkara yang sama dalam program mudah.
Untuk menggunakan pengumpul sampah bersiri, kita perlu melaksanakan –XX:+UseSerialGC ke dalam hujah JVM. Kami boleh menentukan perkara ini semasa menggunakan pemungut sampah bersiri.
Satu-satunya perbezaan antara GC selari dan bersiri ialah GC selari menggunakan berbilang benang, manakala GC bersiri hanya menggunakan satu utas. Kami menggunakan GC selari untuk mempercepatkan pemprosesan aplikasi kami; ini juga dikenali sebagai pengumpul pemprosesan.
Untuk menggunakan pengumpul sampah selari, kita perlu menggunakan –XX:+UseParallelGC dalam hujah JVM. Pengumpul sampah selari dan bersiri adalah penting semasa membangunkan aplikasi Java.
Dalam CMS GC, kami menggunakan berbilang benang, yang digunakan untuk timbunan dan pengimbasan, yang akan menandakan pengusiran kejadian yang ditanda. GC jenis ini tidak membekukan utas aplikasi pada masa GC. Benang pemungut sampah sedang dilaksanakan serentak dengan urutan aplikasi.
Menggunakan pengumpul sampah ini, kami boleh menggunakan berbilang CPU untuk pemprosesan aplikasi kami yang lebih baik. Kami menggunakan CMS GC jika kami mengandungi lebih banyak CPU untuk digunakan. Untuk menggunakan pengumpul sampah CMS, kita perlu menggunakan –XX:+UseParNewGC ke dalam hujah JVM. Kami menggunakan hujah mesin maya Java ini apabila menggunakan pengumpul sampah ini.
Pengumpul sampah G1 digunakan jika kita mengandungi lebih daripada 4 GB memori. GC ini membahagikan timbunan kepada ketulan saiz yang sama dan melakukan kutipan sampah selari pada keutamaan yang sama. Pengumpul sampah G1 menunjukkan fasa penandaan global.
Semasa melengkapkan fasa penandaan, pengumpul sampah ini mengumpul maklumat yang mengandungi objek pemungut sampah. Untuk menggunakan pengumpul sampah G1, kita perlu menggunakan –XX:+UseG1GC ke dalam hujah JVM.
Ini adalah pemungut sampah pasif atau tidak beroperasi. Pengumpul sampah ini memperuntukkan memori untuk aplikasi, tetapi ia tidak akan mengumpul objek yang tidak digunakan. Apabila aplikasi meletihkan timbunan, JVM akan ditutup, jadi kita boleh mengatakan bahawa GC ini membenarkan aplikasi hilang ingatan atau ranap sistem.
Tujuan utama pengutip sampah ini adalah untuk mengurus dan mengukur prestasi aplikasi. Pengumpul sampah ini mengandungi program kompleks yang sedang berjalan di dalam program.
Pengumpul sampah ini melakukan semua kerja serentak tanpa menghentikan pelaksanaan aplikasi kami. Pengumpul sampah ini mengendalikan timbunan yang mengandungi saiz berbilang terabait.
Pemungut sampah jenis ini melakukan kitarannya menjadi benang. Ia akan menjeda aplikasinya dalam masa purata 1 MS.
Pengumpul sampah jenis ini menggunakan kawasan memori untuk mengurus objek yang tidak lagi digunakan dan yang sedia untuk dimampatkan. Pengumpul sampah ini menambahkan penuding pemajuan pada setiap timbunan, yang menggunakan akses kawalan pada objek yang ditentukan.
Di bawah ialah hujah untuk mesin maya Java. Kami menggunakan hujah tersebut dalam pemungut sampah seperti berikut.
Java menawarkan pelbagai pemungut sampah untuk memenuhi keperluan pelbagai aplikasi. Memilih pemungut sampah yang betul untuk aplikasi kami untuk meningkatkan prestasinya adalah penting. Jenis java garbage collector mentakrifkan jenis garbage collector yang akan kami gunakan semasa membangunkan program tersebut. Java mempunyai ciri penting yang dipanggil pengumpulan sampah.
Atas ialah kandungan terperinci Jenis Pengumpul Sampah di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!