Garbage Collection i Java | Forklart

Garbage Collection i Java | Forklart

Java gir et konsept med søppelinnsamling for å gjøre minnet mer effektivt. Begrepet søppel betyr urefererte gjenstander mens søppelinnsamling refererer til en prosess som gjenvinner kjøretiden ubrukt minnet automatisk. Free () og Delete () -funksjonene brukes på henholdsvis C -språk og C ++ språk for å oppnå søppelkolleksjon.

Denne oppskrivningen presenterer følgende aspekter av Java Garbage Collection:

  1. Hva er Java Garbage Collection?
  2. Fordeler med Java Garbage Collection
  3. Hvordan du ikke kan henviste til objekt
  4. Fullfør () -metoden i søppelinnsamling
  5. System.GC () Metode i søppelinnsamling
  6. Java søppelinnsamlingseksempler

Så la oss starte!

Hva er søppelinnsamling i Java

Ødeleggelsen av et "ut av brukt" -objekt kan gjøres ved hjelp av søppelinnsamling. Ingen henvisning til et objekt betyr at det ikke er behov for å holde det objektet, og derfor vil minne okkupert/tatt av det objektet bli utgitt. Fenomenet som automatisk slipper minnet kalles søppelinnsamling i Java.

Fordeler med Java Garbage Collection

Java Garbage Collection gir flere fordeler noen av dem er listet opp nedenfor:

  • Automatisk sletting av unødvendige/ubrukte gjenstander er en av de mest betydningsfulle fordelene med Java Garbage Collection.
  • Java Garbage Collection lager minneeffektiv Når det sletter de ikke -refererte objektene fra minnet automatisk.

Hvordan du ikke kan henviste til objekt

Objektene som er ureferert (ingen del av programmet peker på det objektet) kan gjenvinnes ved søppelinnsamling. Det er tre måter å ikke -refererte objekter som er listet opp nedenfor:

  • Tilordne en nullhenvisning
  • Tilordne en referanse til en annen
  • Anonym objekt

Tilordne en nullhenvisning

Den første måten å ikke -referert til objektene på er å tilordne nullhenvisning til objektet.

Student STD = ny student ();
STD = NULL;

Nå er STD tilgjengelig for søppelsamling.

Tilordne en referanse til andre

En annen måte å oppnå søppelinnsamling er ved å tildele en henvisning til en annen. For eksempel:

Student STD1 = ny student ();
Student STD2 = ny student ();
STD1 = STD2;

Her er STD1 kvalifisert for søppelsamlingen.

Anonyme objekter

Den tredje måten å unreferer objektene er bruken av det anonyme objektet.

ny student();

Direkte å ringe konstruktøren.

Fullfør () -metoden i søppelinnsamling

Det er en metode for objektklassen som kan påberopes/ringes hver gang før objektet er søppel samlet og formålet med å fullføre () -metoden er å utføre opprydningsbehandling.

System.GC () -metode

En funksjon som kan brukes til å påkalle/ringe søppelkollektoren for å utføre opprydningsbehandling.

Java søppelinnsamlingseksempler

La oss vurdere et praktisk eksempel for en dyp forståelse av konseptene:

Eksempel

I dette eksemplet vil vi tilordne NULL -referansen til objektet for å gjøre det kvalifisert for søppelinnsamling.

klasse student
Student()
System.ute.println ("objekt opprettet");

beskyttet tomrom finaliser ()
System.ute.println ("objekt ødelagt");


offentlig klasse GarbageCollectionExample
public static void main (String [] args)
Student STD = ny student ();
STD = NULL;
System.gc ();

Vi overstyrer sluttmetoden for objektklassen for opprydningsbehandling, så bruker vi systemet.GC () -funksjon som vil be JVM om å ringe søppelkollektoren og dermed ødelegge objektet:

Utgangen autentiserer arbeidet med søppelinnsamling.

Tilsvarende kan de to andre måtene brukes til å fjerne gjenstandene i.e. Anonym objekt, og tilordne en referanse til en annen.

Konklusjon

I Java ser søppelsamleren etter de unødvendige/ubrukte gjenstandene og fjerner dem fra minnet. Objekter kan være ureferert på tre forskjellige måter som å tilordne nullhenvisning, tildele en referanse til en annen og bruke det anonyme objektet. Finale () -metoden blir påkalt/kalt hver gang rett før objektet er søppel samlet mens systemet.GC () kjører søppelsamleren og kan påberopes for opprydningsbehandling. Denne oppskrivningen presenterer en detaljert oversikt over Java Garbage Collection.