Java:
public class Alpha {
static int nummer;
public Alpha (){
nummer++;
System.out.println("Objekt " + nummer + " wurde erzeugt.");
}
protected void finalize() throws Throwable{
super.finalize();
System.out.println("Objekt " + nummer + " wurde gelöscht.");
nummer--;
}
}
public class GarbageTest {
static public void main (String[] args) {
int n = 0; /* Anzahl zu erzeugender Objekte */
java.util.Scanner scanner = new java.util.Scanner (System.in);
System.out.println ("Gib die Anzahl " +
"zu erzeugender Objekte ein: ");
try {
n = scanner.nextInt();
}
catch (NumberFormatException e) {
System.out.println (e.toString());
System.exit (1);
}
for (int lv = 0; lv < n; lv++) {
Alpha alphaRef = new Alpha();
}
}
Wenn ich wenige Objekte erzeugen lasse, werden die Objekte nur erzeugt,doch ab einer bestimmten anzahl auch gelöscht. ich versteh das prinzip nicht. Wann löscht der Garbage Collector allgemein und in diesem falle objekte?