Når et objekt fødes bruges en variabel til at pege på objektet. Når variablen ikke længere peger på objektet (og ingen andre variabler heller ikke peger på objektet), vil Garbage Collectoren fjerne objektet fra memory.
public static void runFinalizersOnExit(boolean value)
Deprecated. This method is inherently unsafe. It may result in finalizers being called on live objects while other threads are concurrently manipulating those objects, resulting in erratic behavior or deadlock.
Enable or disable finalization on exit; doing so specifies that the finalizers of all objects that have finalizers that have not yet been automatically invoked are to be run before the Java runtime exits. By default, finalization on exit is disabled.
If there is a security manager, its checkExit method is first called with 0 as its argument to ensure the exit is allowed. This could result in a SecurityException.
Default kaldes finalizer ikke ved exit.
Og det er jo ikke ligefrem fordi opfordrer folk til at enable det !
Der står ellers i min bog, at jeg kan kalde finalizer metoden selv, og den dermed vil fjerne alle referencer, og er så klart til sletning af JVM (af JVM står der ikke, men det regner jeg med ??)
Fra bogen "Du kan når som helts kalde finalize()-metoden, da den blot er en metode som alle andre. Men et kald af finalize() bevirker ikke, at et objekt straks indsamles af datarenovationen. I stedet for fjernes alle referencer til objektet, hvorved det markeres som klar til sletning."
hmm...når man selv skriver det fatter man det sgu :D
Mangler bare at vide hvordan jeg fjerner alle referencer til et objekt med finalize()....står der ikke i bogen....går ikke udfra, at jeg bare såen kan kalde den og den så ved hvilket objekt den skal behandle ;)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.