我一直在研究一个关于
java.io.BufferedInputStream和缓冲区的博文.显然,多年来,默认值从512字节到8192字节(推测)Sun的
Java 7实现,甚至在
JavaDocs in JDK 1.1.8中被明确指定.我的问题还提出了
who/what deciedes what the default should be的问题 – 它不是像我所预期的那样黑色 – 白色.
我很好奇每个版本发布时的默认缓冲区大小以及其他异乎寻常的JVM可能会有什么.到目前为止,我已经通过源代码,JavaDocs或1.0,1.1,1.4,Java 5,Java 6的Sun Bug报告和(推测再次)Sun的Java 7 JVM来跟踪它.
我没能成功的是这个价值
> Sun JDK 1.2的JVM实现
Sun JDK 1.3的实现
>任何其他实现的价值(如IBM或其他)
所以,我想知道这些价值观是什么,哪里可以找到他们的参考?
或者说,如果任何SOpedian在那里可能有机会访问这些设备之一.如果是这样,你可以编译并运行下面的代码,然后再回到这里?或者,你知道吗
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;
}
}