Pengumpulan Sampah di Jawa: Semua yang perlu Anda ketahui



Artikel tentang Pengumpulan sampah di Java ini memberi Anda gambaran yang jelas tentang cara kerjanya, jenisnya, dan metode berbeda dalam pengumpulan sampah di Java

adalah bahasa pemrograman untuk tujuan umum dan jika Anda menghadapi situasi di mana ada data yang tidak terpakai dalam program Anda dan Anda tidak tahu bagaimana menanganinya, Pengumpulan Sampah di Java sangat berguna. Jadi, saya menulis artikel ini untuk membantu Anda menangani fungsi-fungsi ini.

Saya akan membahas topik dalam urutan berikut:





Ayo mulai!

Apa itu Pengumpulan Sampah di Jawa?

Di Java, programmer menghadapi masalah karena harus menghancurkan file benda yang sudah tidak digunakan. Tetapi dengan Pengumpul Sampah, hal ini dapat dengan mudah diurus. Tujuan utama dari Pengumpul Sampah ini adalah untuk membebaskan memori heap dengan menghancurkan objek yang tidak berisi referensi. Teknik tersebut dikenal sebagai Pengumpulan Sampah.



Ini juga dianggap sebagai program yang membantu melakukan manajemen memori otomatis. Kapan dijalankan di JVM, objek dibuat di heap, yang sebenarnya merupakan bagian dari memori yang didedikasikan untuk program tersebut. Akhirnya, beberapa objek tidak lagi dibutuhkan. Itu pemulung menemukan objek yang tidak digunakan ini dan menghapusnya untuk mengosongkan sebagian memori.

  • Program yang tidak mengalokasikan memori pada akhirnya dapat rusak ketika tidak ada memori yang tersisa di sistem untuk dialokasikan. Semua program ini dikatakan mengalami kebocoran memori.
  • Pengumpulan sampah di Java terjadi secara otomatis selama masa aktif program, sehingga menghilangkan kebutuhan untuk mengalokasikan memori dan karenanya menghindari kebocoran memori.
  • Metode seperti Gratis() di C dan menghapus() di C ++ digunakan tetapi, di Java, ini dilakukan secara otomatis. Begitu, memberikan manajemen memori yang lebih baik.

Sekarang, mari kita pahami cara kerja pengumpulan sampah otomatis ini di Java.

perbedaan antara lemparan dan lemparan

Catatan : Sebuah objek dikatakan memenuhi syarat untuk pengumpulan sampah jika tidak dapat dijangkau.



Bagaimana cara kerja Pengumpulan Sampah?

Pengumpulan Sampah adalah proses bekerja dengan memori Heap dan juga menandai atau mengidentifikasi objek yang tidak terjangkau dan menghancurkannya dengan pemadatan.

Pengumpulan sampah di Java adalah proses otomatis dan programmer tidak harus secara eksplisit menandai objek yang akan dihapus. Penerapannya terutama tinggal di . Setiap JVM dapat mengimplementasikan pengumpulan sampah. Satu-satunya persyaratan adalah harus memenuhi spesifikasi JVM.

Meskipun ada banyak JVM yang tersedia, Oracle HotSpot sejauh ini yang paling umum karena menawarkan serangkaian opsi pengumpulan sampah yang kuat dan matang.

  • HotSpot memiliki beberapa pengumpul sampah yang dioptimalkan untuk berbagai kasus penggunaan, dan semua pengumpul sampah mengikuti proses dasar yang sama.
  • Pada langkah pertama, objek yang tidak direferensikan diidentifikasi dan ditandai sebagai siap untuk pengumpulan sampah.
  • Pada langkah kedua, objek yang ditandai dihapus. Secara opsional, memori bisa dipadatkan setelah pengumpul sampah menghapus objek, sehingga objek yang tersisa berada dalam blok yang berdekatan di awal heap. Proses pemadatan memudahkan untuk mengalokasikan memori ke objek baru secara berurutan setelah blok memori dialokasikan ke objek yang ada.

Semua pengumpul sampah HotSpot menerapkan strategi pengumpulan generasi yang mengkategorikan objek berdasarkan usia. Alasan di balik pengumpulan sampah generasi adalah bahwa sebagian besar objek berumur pendek dan akan siap untuk pengumpulan sampah segera setelah pembuatan.

Sekarang mari kita lihat apa saja jenis pemulung.

Jenis Pengumpul Sampah

JVM menyediakan empat pengumpul sampah yang berbeda, semuanya bersifat generasi. Masing-masing memiliki kelebihan dan kekurangannya sendiri. Pilihan pengumpul sampah yang akan digunakan terletak pada pengguna dan mungkin terdapat banyak perbedaan dalam throughput dan aplikasi berhenti.

Ada 4 jenis pemulung.

  • Serial Sampah Kolektor (GC) :Semua acara pengumpulan sampah dilakukan secara serial dalam satu utas tunggal. Pemadatan dijalankan setelah setiap pengumpulan sampah.
  • GC paralel / throughput: Beberapa utas digunakan untuk pengumpulan sampah kecil / kecil. Sebuah utas tunggal digunakan untuk pengumpulan sampah utama dan pemadatan Generasi Lama. Selain itu, varian Parallel menggunakan banyak utas untuk pengumpulan sampah utama dan pemadatan Generasi Lama.
  • Kolektor CMS :Beberapa utas digunakan untuk pengumpulan sampah kecil / kecil menggunakan algoritma yang sama seperti Paralel. Mayoritas pengumpulan sampah bersifat multi-thread, tetapi CMS berjalan secara bersamaan bersama proses aplikasi untuk meminimalkan kejadian aplikasi. Tidak ada pemadatan yang dilakukan.
  • Kolektor G1 :Pengumpul sampah ini pada dasarnya ditujukan sebagai pengganti CMS. Ini paralel dan bersamaan seperti CMS, tetapi bekerja sangat berbeda jika dibandingkan dengan pengumpul sampah yang lebih lama.

Mari kita pahami keunggulan pengumpulan Sampah di Jawa.

Keuntungan

  • Manfaat terbesar dari pengumpulan sampah Java adalah secara otomatis menangani penghapusan objek yang tidak digunakan atau beberapa objek yang tidak dapat diakses untuk mengosongkan sumber daya memori.
  • Pengumpulan Sampah sekarang menjadi komponen standar baru dari banyak bahasa pemrograman populer.
  • Itu membuat Java hemat memori. Itu karena pengumpul sampah menghapus objek yang tidak direferensikan dari memori heap.
  • ini otomatis selesai oleh pengumpul sampah yang merupakan bagian dari JVM.

Praktik terbaik

Pendekatan terbaik untuk beradaptasi dengan pengumpulan sampah Java adalah dengan menyetel tanda di JVM. Bendera memiliki kemampuan untuk mengatur pengumpul sampah yang akan digunakan. Ini membantu dalam menjadikannya yang paling cocok untuk pemrosesan backend di mana jeda yang lama untuk pengumpulan sampah dapat diterima.

Hal lain yang perlu diperhatikan di sini adalah, pengumpul sampah CMS dirancang untuk meminimalkan jeda yang membuatnya ideal untuk aplikasi GUI di mana daya tanggap sangat penting. Penyesuaian tambahan dapat dilakukan dengan mengubah ukuran tumpukan atau bagiannya dan mengukur efisiensi pengumpulan sampah.

Mari kita lihat program ini.

bagaimana cara menginstal php
kelas Edureka {int a int b public void setData (int c, int d) {a = cb = d} public void showData () {System.out.println ('Nilai a =' + a) System.out.println ('Nilai b =' + b)} public static void main (String args []) {Edureka e1 = new Edureka () Edureka e2 = new Edureka () e1.setData (1,2) e2.setData (3, 4) e1.showData () e2.showData () // Edureka e3 // e3 = e2 //e3.showData () // e2 = null //e3.showData () // e3 = null //e3.showData ()}}

Dalam hal ini, keduanyaobjek dan dua variabel referensi dibuat. Jika Anda menambahkan perintah lain e3 = Null,dua variabel referensi akan menunjuk ke objek yang sama. Dan jika tidak ada referensi ke variabel, e3 = e2e3.showData () Pada titik ini, tidak ada referensi yang menunjuk ke objek dan itu memenuhi syarat untuk pengumpulan sampah.

Ini mengakhiri artikel 'Pengumpulan Sampah di Jawa' ini. Kami telah mempelajari cara menghapus objek yang tidak digunakan di heap dan berbagai jenis koleksi.

Jika Anda menemukan artikel ini tentang 'Pengumpulan Sampah di Jawa', lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kami di sini untuk membantu Anda dalam setiap langkah dalam perjalanan Anda, kami menghadirkan kurikulum yang dirancang untuk siswa dan profesional yang ingin menjadi Pengembang Java.

Ada pertanyaan untuk kami? Harap sebutkan di bagian komentar pada “Pengumpulan Sampah di Jawa ' dan kami akan menghubungi Anda kembali secepatnya.