Johdatus Java-tuhoajaan

Hävittäjät Java voidaan oppia viimeistelymenetelmällä Java. Käsite on sama kuin viimeistelymenetelmä. Java toimii kaikille paitsi tuhoajalle roskienkeräyksen avulla. Siksi siinä tapauksessa, että on tarpeen kutsua hävittäjä, se voidaan tehdä viimeistelymenetelmän avulla. Tämä menetelmä ei ole itsenäinen, koska se perustuu jätteiden keräykseen. Jätekeräin on säie, joka poistaa tai tuhoaa käyttämättömän esineen kasa-alueella. Sano jos objekti on kytketty tiedostoon tai sano jotain tietokantasovellusta tai verkkoyhteyksiä, ennen objektin poistamista tai tuhoamista on suljettava kaikki näihin resursseihin liittyvät yhteydet ennen roskien keräämistä. Nämä toimintojen sulkeminen tapahtuu kutsumalla viimeistelymenetelmä.

Määritelmä Destructor Java

Tuhoaja on menetelmä, jota kutsutaan, kun esine tuhoutuu. ”Hävittäjän päätavoite on vapauttaa varattu muisti ja myös puhdistaa resursseja, kuten avointen tiedostojen sulkeminen, tietokantayhteyksien sulkeminen, verkkoresurssien sulkeminen jne.,

Syntaksi

Class Object
(
protected void finalize()
(
//statements like closure of database connection
)
)

Kuinka Destructor toimii Java-järjestelmässä?

Hävittäjällä on lopullinen () -menetelmä javassa, joka on samanlainen kuin hävittäjä C ++: ssa. Kun esineet luodaan, ne tallennetaan kasaan muistiin. Näihin pääsee pää- tai alalangoilla. Joten kun näitä pääobjekteja tai sen alalankoja ei enää käytetä, niitä voidaan käyttää jätteiden keruuseen ja nyt hankittu muisti tulee saataville luomalla uusia kohteita. Ennen kuin esine on roskien kerääjän keräämä roska, JRE (Java Runtime Environment) kutsuu viimeistelemään () -menetelmän sulkemaan tulo- ja lähtövirrat, tietokantayhteydet, verkkoyhteydet jne. Huomaa, että kutsuttu viimeistelymenetelmä on suojattu. Miksi viimeistely on suojattu, koska siihen voidaan kutsua joko perusluokka tai johdettu luokka? viimeistelymenetelmä on läsnä Object-luokassa. Siten, jos haluat kutsua tämän viimeistelymenetelmän muista kohteista, voit muuttaa tämän suojatun julkiseksi.

Syntaksi:

protected void finalize throws Throwable()
(
//Keep some resource closing operations here
)

Viimeistelymenetelmät ()

  1. viimeistele () -menetelmä on suojattu java.lang.Object-luokan määritelmän mukaisesti.
  2. finalize () -menetelmää kutsutaan vain kerran.
  3. ohittaaksesi viimeistely () -menetelmän, sinun on soitettava viimeistelymenetelmälle nimenomaisesti.
  4. GC () on JVM: n palvelu roskakorin suorittamiseksi, sitä kutsutaan, kun kasan muisti on täynnä ja se tarvitsee muistia uusille saapuville kohteille.
  5. JVM jättää huomioimatta kaikki poikkeukset paitsi viimeistelemismenetelmässä esiintyvät tarkistamattomat poikkeukset.

Esimerkki # 1

Alla olevassa ohjelmassa String-luokkaa vastaavaa viimeistelymenetelmää kutsutaan ohjelmassa olevan viimeistelymenetelmän sijasta. Viimeistelymenetelmä ohitetaan tässä.

Koodi:

public class Demo
(
public static void main(String() args)
(
Integer i = new Integer(2);
i = null;
System.gc();
System.out.println("In the Main Method");
)
protected void finalize()
(
System.out.println("object is garbage collected ");
)
)

lähtö:

Esimerkki 2

Alla olevassa ohjelmassa viimeistelytapaa kutsutaan sisäisesti, nimenomaista puhelua ei tarvita.

Koodi

public class Demo
(
public static void main(String() args)
(
Demo dm = new Demo();
dm = null;
System.gc();
System.out.println("In the Main Method");
)
protected void finalize()
(
System.out.println("object is garbage collected ");
)
)

lähtö:

Esimerkki 3

Alla olevassa ohjelmassa viimeistelyä kutsuttiin sisäisesti luotujen kohteiden lukumäärästä riippuen.

Koodi

public class NewProgram(
public void finalize()(
System.out.println("object is garbage collected");
)
public static void main(String args())(
NewProgram np1=new NewProgram(); //first instantiation of Class NewProgram
NewProgram np2=new NewProgram(); //second instantiation of Class NewProgram
np1=null;
np2=null;
System.gc();
System.out.println("In the Main Method");
)
)

lähtö:

Esimerkki 4

Alla olevassa ohjelmassa luodaan kaksi objektia, viimeistelyä kutsutaan kerran, koska molemmat objektit osoittavat samaan.

Koodi:

public class NewProgram(
public void finalize()(
System.out.println("garbage collected");
)
public static void main(String args())(
NewProgram np1=new NewProgram(); //first instantiation of Class NewProgram
NewProgram np2=new NewProgram(); //second instantiation of Class NewProgram
np1 = np2; // both now pointing to same object
System.gc();
System.out.println("in the Main Method");
)
)

lähtö:

Esimerkki 5

Seuraavassa ohjelmassa viimeistelymenetelmää kutsutaan kahdesti nimenomaisesti ja sisäisesti molemmat.

Koodi

public class Demo
(
public static void main(String() args)
(
Demo dm = new Demo();
dm.finalize();
dm = null;
System.gc();
System.out.println("In the Main Method");
)
protected void finalize()
(
System.out.println("garbage collected ");
)
)

lähtö:

Esimerkki 6

Alla olevassa ohjelmassa on aritmeettinen poikkeus, jota kutsutaan viimeistelymenetelmään, koska sitä kutsutaan nimenomaisesti, mikä edelleen aiheuttaa poikkeuksen ja pysäyttää jäljellä olevan ohjelman suorituksen.

Koodi:

public class Demo
(
public static void main(String() args)
(
Demo dm = new Demo();
dm.finalize();
dm = null;
System.gc();
System.out.println("In the Main Method");
)
protected void finalize()
(
System.out.println("garbage collected ");
System.out.println(10 / 0);
)
)

lähtö:

Esimerkki # 7

Alla olevassa ohjelmassa ei ole poikkeusta, jota kutsutaan, koska sitä ei kutsuta nimenomaisesti ja se jatkaa jäljellä olevan ohjelman suorittamista.

Koodi:

public class Demo
(
public static void main(String() args)
(
Demo dm = new Demo();
dm = null;
System.gc();
System.out.println("In the Main Method");
)
protected void finalize()
(
System.out.println("garbage collected ");
System.out.println(10 / 0);
)
)

lähtö:

Destructorin edut Java-sovelluksissa

  1. Tuhoaja tuhoaa rakentajan luoman arvon avaruuteen kasan muistissa.
  2. Destructor kutsutaan aina ohjelman lopussa.
  3. Tuhoaja ei ole koskaan ylikuormitettu tuhoaja ei ota mitään perustelua.
  4. Ei tarvitse määritellä rakentajaamme, kääntäjä luo meille yhden.

johtopäätös

Toivottavasti tämä artikkeli oli mielenkiintoinen ja informatiivinen sekä teille että oppit aiheen. Tämä artikkeli on kaannut melkein kaikki etsimäsi aiheet ja toivottavasti täyttää kaikki vaatimuksesi.

Suositellut artikkelit

Tämä on opas Java-tuhoajalle. Täällä olemme keskustelleet Java-tuhoajan määritelmästä, Kuinka tuhoaja toimii Java-ohjelmassa, menetelmien, etujen ja erilaisten esimerkkien kanssa. Voit myös käydä läpi toisen ehdotetun artikkelin saadaksesi lisätietoja-

  1. Mikä on Java-käyttöliittymä?
  2. Mikä on Java-käyttöliittymä?
  3. Java-työkalut
  4. Asettelu Java-tilassa
  5. Rakentaja ja tuhoaja Java
  6. Esimerkkejä Pythonin tuhoajasta
  7. JRE vs. JVM | 8 parasta eroa (infografia) kanssa
  8. Hävittäjä PHP: llä esimerkkien avulla