java.io.BufferedInputStream 在旧的和外来的 JVM 上的默认缓冲区大小是多少?
2022-09-02 13:56:48
我一直在为一篇关于和缓冲区的博客文章做一些研究。显然,多年来,自以为是的)Sun的Java 7实现相比,默认值已经从可怜的512字节增长到8192字节,甚至在JDK 1.1.8的JavaDocs中明确指定。我的问题也提出了谁/什么决定了默认值应该是什么的问题 - 它并不像我预期的那样黑白。java.io.BufferedInputStream
我很好奇每个版本发布的默认缓冲区大小是多少,以及其他异国情调的JVM中可能是多少。到目前为止,我已经通过源代码,JavaDocs或Sun错误报告跟踪了它,用于1.0,1.1,1.4,Java 5,Java 6和(假设再次)Sun的Java 7 JVM。
我没有出现的是这个值
- Sun JDK 1.2 的 JVM 实现
- 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;
}
}