Я занимался некоторыми исследованиями для публикации в блоге относительно java.io.BufferedInputStream
и буферов. По-видимому, на протяжении многих лет значение по умолчанию выросло с минимальных 512 байт до 8192 байта (предположительно) реализации Sun Java 7 и даже было явно указано в JavaDocs в JDK 1.1.8. Мой вопрос также затронул вопросы кто/что определяет, что должно быть по умолчанию - не так, как я ожидал, как черный-n-белый.
Мне интересно, как , какой размер буфера по умолчанию был в каждой версии версии, и что это может быть в других, экзотических JVM. До сих пор я отслеживал это с помощью исходного кода, JavaDocs или отчетов об ошибках Sun для 1.0, 1.1, 1.4, Java 5, Java 6 и (предположительно снова) Sun Java 7 JVM.
То, что я не смог включить, это значение для
- Внедрение JMM JDK 1.2.
- Внедрение Sun JDK 1.3
- Любое другое значение реализации (например, IBM или что-то еще)
Итак, мне было интересно, , что эти значения и где я могу найти ссылку на них?
Или это означает, что если какие-либо 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;
}
}