Kolekcja śmieci w Javie | Wyjaśnione

Kolekcja śmieci w Javie | Wyjaśnione

Java zapewnia koncepcję kolekcji śmieci, aby pamięć była bardziej wydajna. Termin śmieci oznacza niereferencyjne obiekty, podczas gdy kolekcja śmieci odnosi się do procesu, który automatycznie odzyskuje nieużywaną pamięć. Funkcje Free () i delete () są używane odpowiednio w języku C i języku C ++, aby osiągnąć kolekcję śmieci, jednak w Javie jest ona wykonywana automatycznie, a zatem Java zapewnia lepsze zarządzanie pamięcią.

Ten pismo przedstawia następujące aspekty kolekcji śmieci Java:

  1. Co to jest kolekcja Garbage Java?
  2. Zalety kolekcji śmieci Java
  3. Jak niereferencyjny obiekt
  4. Finalize () Method w kolekcji śmieci
  5. System.Metoda GC () w kolekcji śmieci
  6. Przykłady kolekcji śmieci Java

A więc zacznijmy!

Co to jest kolekcja śmieci w Javie

Zniszczenie obiektu „nie używanego” można wykonać za pomocą kolekcji śmieci. Brak odniesienia do obiektu oznacza, że ​​nie ma potrzeby utrzymywania tego obiektu, a zatem pamięć zajęta/pobrana przez ten obiekt zostanie zwolniony. Zjawisko automatycznego uwalniania pamięci nazywa się kolekcją śmieci w Javie.

Zalety kolekcji śmieci Java

Kolekcja Garbage Java zapewnia wiele korzyści, niektóre z nich są wymienione poniżej:

  • Automatyczne usunięcie niepotrzebnych/nieużywanych przedmiotów jest jedną z najważniejszych korzyści z kolekcji śmieci Java.
  • Kolekcja śmieci Java Pamięć wydajna gdy usuwa niereferencyjne obiekty z pamięci automatycznie.

Jak niereferencyjny obiekt

Obiekty, które nie są w poniesieniu (żadna część programu nie wskazuje na ten obiekt) można odzyskać przez Garbage Collection. Istnieją trzy sposoby na niezbędne obiekty, które są wymienione poniżej:

  • Przypisz odniesienie NULL
  • Przypisz jedno odniesienie do drugiego
  • Anonimowy obiekt

Przypisz odniesienie NULL

Pierwszym sposobem na recenzowanie obiektów jest przypisanie odniesienia zerowego do obiektu.

Student std = nowy student ();
std = null;

Teraz STD jest dostępny do kolekcji śmieci.

Przypisz jedno odniesienie do drugiego

Innym sposobem osiągnięcia zbierania śmieci jest przypisanie odniesienia do innego. Na przykład:

Student Std1 = nowy student ();
Student std2 = nowy student ();
std1 = std2;

Tutaj STD1 kwalifikuje się do kolekcji śmieci.

Anonimowe obiekty

Trzecim sposobem na odniesienie obiektów jest użycie obiektu anonimowego.

nowy uczeń();

Bezpośrednio wzywając konstruktora.

Finalize () Method w kolekcji śmieci

Jest to metoda klasy obiektowej, którą można wywołać/wywołać za każdym razem, zanim obiekt zostanie zbierany.

System.Metoda GC ()

Funkcja, której można użyć do wywoływania/wywołania zbierania śmieci w celu przeprowadzenia przetwarzania oczyszczania.

Przykłady kolekcji śmieci Java

Rozważmy praktyczny przykład głębokiego zrozumienia pojęć:

Przykład

W tym przykładzie przypisamy odniesienie zerowe do obiektu, aby kwalifikuje się do kolekcji śmieci.

klasa uczeń
Student()
System.na zewnątrz.println („obiekt utworzony”);

chronione void finalize ()
System.na zewnątrz.println („zniszczony obiekt”);


Klasa publiczna GarbageCollectionExample
public static void main (string [] args)
Student std = nowy student ();
std = null;
System.GC ();

Zastąpiamy metodę finalizacji klasy obiektów do przetwarzania czyszczenia, a następnie korzystamy z systemu.Funkcja GC (), która poprosi JVM o wywołanie zbierającego śmieci, a tym samym niszczy obiekt:

Wyjście uwierzytelnia działanie kolekcji śmieci.

Podobnie pozostałe dwa sposoby można użyć do odniesienia obiektów i.mi. anonimowy obiekt i przypisz jedno odniesienie do drugiego.

Wniosek

W Javie śmieciak szuka niepotrzebnych/nieużywanych obiektów i usuwa je z pamięci. Obiekty można nie powiązać na trzy różne sposoby, takie jak przypisanie odniesienia zerowego, przypisanie jednego odniesienia do drugiego i korzystanie z obiektu anonimowego. Metoda finalize () jest wywoływana/wywoływana za każdym razem tuż przed pobraniem śmieci, gdy system.GC () uruchamia śmieciowy i można go wywołać w celu przetwarzania oczyszczania. Ten zapis przedstawia szczegółowy przegląd kolekcji Java Garbage.