void run() throws Exception {
generateOOME(); for (int i = 0; i < 1000; ++i) {
SwingUtilities.invokeAndWait(Disposer::pollRemove); if (i % 10 == 0) { // Adding records will race with the diposer trying to remove them
addRecordsToDisposer(1000);
}
}
Disposer.addObjectRecord(new Object(), new FinalDisposerRecord());
while (!disposerDone) {
generateOOME();
}
}
privatestaticvoid checkRecordsCountIsSane() { if (recordsCount.get() < 0) { thrownew RuntimeException("Disposed more records than were added");
}
}
MyDisposerRecord disposerRecord = new MyDisposerRecord(); for (int i = 0; i < count; i++) {
Disposer.addObjectRecord(new Object(), disposerRecord);
}
}
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.