Я проводил некоторое исследование для сообщения в блоге относительно java.io.BufferedInputStream
и буферы. По-видимому, за эти годы, значение по умолчанию выросло с ничтожных 512 байтов до 8 192 байтов с (самонадеянно) реализации Java 7 Sun и было даже явно указано в JavaDocs в JDK 1.1.8. Мой вопрос также поднял вопросы того, кто/какой deciedes, чем значение по умолчанию должно быть - это не как black-n-white, как я ожидал.
Мне любопытно относительно того, чем размер буфера по умолчанию был при каждом выпуске версии, и чем это может быть в другом, экзотическом JVMs. До сих пор я разыскал его, через исходный код, JavaDocs или отчеты об ошибках Sun для 1,0, 1.1, 1.4, Java 5, Java 6 и (самонадеянно снова) Java 7 JVM Sun.
То, что мне не удалось поднять, является этим значением для
Так, я задавался вопросом, что те значения и где я мог найти ссылку на них?
Или, то раскрытие, если какой-либо SOpedians там мог бы иметь доступ к одной из этих установок. Если так, Вы могли скомпилировать и работать ниже кода и затем сообщить здесь? Или, Вы знаете о
import java.io.BufferedInputStream;
import java.io.InputStream;
public class BufferSizeDetector extends BufferedInputStream {
public static void main(String[] args) {
BufferSizeDetector bsd = new BufferSizeDetector(null);
System.err.println(System.getProperty("java.version"));
System.err.println(bsd.getBufferSize());
}
public BufferSizeDetector(InputStream in) {
super(in);
}
public int getBufferSize() {
return super.buf.length;
}
}
Система:
Linux wart 2.6.33-rc1-00225-gc9f937e #2 Wed Dec 23 17:55:01 UTC 2009 armv5tel GNU/Linux
OpenJDK Runtime Environment (IcedTea6 1.4.1) (6b14-1.4.1-0ubuntu10)
OpenJDK Core VM (build 14.0-b08, interpreted mode)
Выход из вашей программы:
1.6.0_0
8192
Я не уверен, что вы надеетесь учиться у этого, но так как у меня есть его перед собой ... Win32 IBM 1.4.2 JRE использует размер буфера 2048
.