Wieso? Irgendwann spring er an. Nimm das:
Java:
import java.util.ArrayList;
public class NodeCounter {
public NodeCounter() {
ArrayList<Node> nodes = new ArrayList<Node>();
for(int i = 0; i < 10; i ++)
nodes.add(new Node());
nodes.clear();
System.gc();
while ( Node.getCounter() > 0);
System.out.println("Alle Nodes gelöscht!");
}
public static void main(String[] args) {
new NodeCounter();
}
static class Node {
private static int counter;
static {
counter = 0;
}
Node() {
counter ++;
}
protected void finalize() {
counter --;
}
public static int getCounter() {
return counter;
}
}
}