Collezione della spazzatura a Java | Spiegato

Collezione della spazzatura a Java | Spiegato

Java fornisce un concetto di collezione di immondizia per rendere la memoria più efficiente. Il termine immondizia significa oggetti non referenziati mentre la raccolta della spazzatura si riferisce a un processo che reclama automaticamente la memoria inutilizzata. Le funzioni gratuite () e elimina () sono utilizzate rispettivamente in linguaggio C e C ++ per ottenere la raccolta dei rifiuti, tuttavia in Java, viene eseguita automaticamente e quindi Java fornisce una migliore gestione della memoria.

Questo articolo presenta i seguenti aspetti della collezione Garbage Java:

  1. Cos'è la collezione Java Garbage?
  2. Vantaggi della collezione Garbage Java
  3. Come non riferenziato
  4. Metodo Finalize () nella collezione Garbage
  5. Sistema.Metodo GC () nella collezione di immondizia
  6. Esempi di collezione Garbage Java

Quindi iniziamo!

Cos'è la collezione di immondizia a Java

La distruzione di un oggetto "fuori usata" può essere fatta con l'aiuto della collezione di immondizia. Nessun riferimento a un oggetto significa che non è necessario mantenere quell'oggetto, e quindi la memoria occupata/presa da quell'oggetto verrà rilasciata. Il fenomeno del rilascio automatico della memoria si chiama Garbage Collection in Java.

Vantaggi della collezione Garbage Java

La collezione Java Garbage offre diversi vantaggi che alcuni di essi sono elencati di seguito:

  • Eliminazione automatica di oggetti non necessari/non utilizzati è uno dei vantaggi più significativi della Java Garbage Collection.
  • La collezione Java Garbage fa memoria efficiente poiché elimina gli oggetti non riferenziati dalla memoria automaticamente.

Come non riferenziato

Gli oggetti non riferenziati (nessuna parte del programma punta a quell'oggetto) possono essere recuperati dalla collezione Garbage. Esistono tre modi per oggetti non referenziati che sono elencati di seguito:

  • Assegna un riferimento nullo
  • Assegna un riferimento a un altro
  • Oggetto anonimo

Assegna un riferimento nullo

Il primo modo per non fare riferimento agli oggetti è assegnare il riferimento nullo all'oggetto.

Student std = new Student ();
std = null;

Ora, STD è disponibile per la collezione Garbage.

Assegna un riferimento ad altri

Un altro modo per ottenere la raccolta dei rifiuti è assegnare un riferimento a un altro. Per esempio:

Student std1 = new Student ();
Student std2 = new Student ();
std1 = std2;

Qui, STD1 è idoneo per la collezione Garbage.

Oggetti anonimi

Il terzo modo per non riferire gli oggetti è l'uso dell'oggetto anonimo.

nuovo studente();

Chiamando direttamente il costruttore.

Metodo Finalize () nella collezione Garbage

È un metodo della classe di oggetti che può essere invocato/chiamato ogni volta prima che l'oggetto sia raccolta e lo scopo di finalizzare () è eseguire l'elaborazione della pulizia.

Sistema.Metodo GC ()

Una funzione che può essere utilizzata per invocare/chiamare il Garbage Collector per eseguire l'elaborazione della pulizia.

Esempi di collezione Garbage Java

Consideriamo un esempio pratico per una profonda comprensione dei concetti:

Esempio

In questo esempio, assegneremo il riferimento nullo all'oggetto per renderlo idoneo per la raccolta dei rifiuti.

Studente di classe
Alunno()
Sistema.fuori.println ("oggetto creato");

protetto void finalize ()
Sistema.fuori.println ("oggetto distrutto");


classe pubblica GarbageCollectionExample
public static void main (string [] args)
Student std = new Student ();
std = null;
Sistema.gc ();

Sostituiamo il metodo di finalizzazione della classe Object per l'elaborazione della pulizia, quindi utilizziamo il sistema.Funzione GC () che richiederà a JVM di chiamare il Garbage Collector e quindi distrugge l'oggetto:

L'output autentica il funzionamento della collezione Garbage.

Allo stesso modo, gli altri due modi possono essere usati per non riferire gli oggetti i.e. oggetto anonimo e assegnare un riferimento a un altro.

Conclusione

In Java, il Garbage Collector cerca gli oggetti non necessari/inutilizzati e li rimuove dalla memoria. Gli oggetti possono non essere referenziati in tre modi diversi come l'assegnazione di riferimento null, l'assegnazione di un riferimento a un altro e l'uso dell'oggetto anonimo. Il metodo finalize () viene invocato/chiamato ogni volta appena prima che l'oggetto venga raccolto la spazzatura mentre il sistema.GC () gestisce il garbage collector e può essere invocato per l'elaborazione della pulizia. Questo articolo presenta una panoramica dettagliata della collezione Java Garbage.