fork(new Runnable() { publicvoid run() {
Basic s = new Basic();
rw = new WeakReference(s, q);
rw2 = new WeakReference(s);
rp = new PhantomReference(s, q);
rp2 = new PhantomReference(s.sub, q);
s = null;
}
});
showReferences();
int ndq = 0; boolean prevFinalized = false;
outer: for (int i = 1;; i++) {
Reference r;
/* Cause a dummy object to be finalized, since the finalizer thread mightretainareferencetotheBasicinstanceafterit'sbeen
finalized (this happens with java_g) */ if (Basic.finalized && !prevFinalized) {
fork(new Runnable() { publicvoid run() { new ClearFinalizerThread();
}});
prevFinalized = true;
}
while ((r = q.poll()) != null) {
ndq++; if (r != null) {
System.err.println("Dequeued " + r); if (ndq == 3) break outer;
}
}
if (i >= 10) break;
}
if (ndq != 3) { thrownew Exception("Expected to dequeue 3 reference objects,"
+ " but only got " + ndq);
}
if (! Basic.finalized) { thrownew Exception("Test object not finalized");
}
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.14 Sekunden
(vorverarbeitet am 2026-10-11)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.