Megsemmisítése a tárgy és a véglegesítése () metódus, a blog csak a java

Megsemmisítése a tárgy és a véglegesítése () metódus, a blog csak a java
Néhány objektum-orientált nyelvek. különösen a C ++, vannak kifejezetten destruktor, amelynek célja, hogy elpusztítsa tárgyak. A fő feladat -, hogy kiadja a memória, mókás tárgyakat. Mivel a Java nyelv egy olyan mechanizmus automatikus szemétgyűjtő szabad memória kézzel nem szükséges, így a Java, destruktorok sem.

Persze, néhány használt objektumok mellett a memória és egyéb erőforrásokat, például fájlokat, vagy a nyél egyéb tárgyak, amelyek viszont, lásd a rendszer erőforrásait. Ebben az esetben fontos, hogy a források szabadulnak fel időben. Minden osztály, akkor adjuk hozzá a véglegesítése () metódust. Ezt a módszert nevezik, mielőtt a rendszer „szemétgyűjtő”, hogy elpusztítsa az objektumot. A gyakorlatban, ha a megújítást források és újra őket egyszerre, akkor nem hivatkozhat a véglegesítése () metódust. - nem tudjuk pontosan, mikor ez a módszer kerül sor.

Van System.runFinalizerOnExit (true) metódust. annak biztosítása, hogy a véglegesítése () metódus kerül meghívásra, mielőtt a program leáll. Azonban ez a módszer rendkívül megbízhatóak, és nem ajánlott. A Runtime.addShutdownHook () módszert lehet használni, mint alternatív. További információkért megtalálható az API dokumentációt.

Ha az erőforrás kell szabadítani közvetlenül a használat után, te magad írni a megfelelő kódot. Hozzá kell megsemmisíteni () módszer, vagy close (). azt szeretnénk, hogy kifejezetten hívja törlése a memóriából. Ha az osztályban egy módszert, meg kell hívni, ha befejezte a célja ebben az osztályban.

Kapcsolódó cikkek