// Exhaust the number of open file descriptors.
List<File> files = new ArrayList<File>();
List<OutputStream> streams = new ArrayList<OutputStream>(); try { for (int i = 0; ; i++) {
File file = createTempFile();
files.add(file);
streams.add(Files.newOutputStream(file.toPath(), CREATE, APPEND));
}
} catch (Throwable e) { if (e.getMessage().contains("Too many open files")) {
System.out.println("Message includes \"Too many open files\"");
} else {
System.out.println("Unexpected exception:");
e.printStackTrace();
}
}
// Now try to create a new thread. try { Threadthread = newThread() { publicvoid run() {
System.out.println("thread run.");
}
}; thread.start(); thread.join();
} catch (Throwable e) {
System.out.println(e.getMessage());
}
for (int i = 0; i < streams.size(); i++) {
streams.get(i).close();
}
for (int i = 0; i < files.size(); i++) {
files.get(i).delete();
}
System.out.println("done.");
}
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.