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