publicstaticvoid main(String[] args) throws Exception { // Try to call Reference.get repeatedly while the GC is running. Thread gcThread = new GcThread(); Thread[] readerThread = new ReaderThread[4]; for (int i = 0; i < readerThread.length; ++i) {
readerThread[i] = new ReaderThread();
}
gcThread.start(); for (int i = 0; i < readerThread.length; ++i) {
readerThread[i].start();
}
gcThread.join(); for (int i = 0; i < readerThread.length; ++i) {
readerThread[i].join();
}
System.out.println("PASS");
}
staticclass GcThread extendsThread {
GcThread() {
Object temp = new Object(); for (int j = 0; j < weakReferences.length; ++j) {
weakReferences[j] = new WeakReference(temp);
}
} publicvoid run() { for (int i = 0; i < 1000; ++i) {
Object o = new Object(); for (int j = 0; j < weakReferences.length; ++j) {
weakReferences[j] = new WeakReference(o);
}
}
done = true;
}
}
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.