旧JVM和外来JVM上java.io.BufferedInputStream的默认缓冲区大小是多少?

旧JVM和外来JVM上java.io.BufferedInputStream的默认缓冲区大小是多少?,java,history,bufferedinputstream,Java,History,Bufferedinputstream,我一直在为一篇关于java.io.BufferedInputStream和缓冲区的博文做一些研究。显然,多年来,默认值已经从微不足道的512字节增加到了8192字节(默认情况下)Sun的Java 7实现,甚至在。我的问题也带来了一些问题,它不像我想象的那样是黑白的 我很好奇在每个版本发布时默认的缓冲区大小是多少,以及在其他外来JVM中可能是什么。到目前为止,我已经通过1.0、1.1、1.4、Java5、Java6和Sun的Java7JVM的源代码、JavaDocs或Sun bug报告找到了它 我

我一直在为一篇关于
java.io.BufferedInputStream
和缓冲区的博文做一些研究。显然,多年来,默认值已经从微不足道的512字节增加到了8192字节(默认情况下)Sun的Java 7实现,甚至在。我的问题也带来了一些问题,它不像我想象的那样是黑白的

我很好奇在每个版本发布时默认的缓冲区大小是多少,以及在其他外来JVM中可能是什么。到目前为止,我已经通过1.0、1.1、1.4、Java5、Java6和Sun的Java7JVM的源代码、JavaDocs或Sun bug报告找到了它

我没有找到的是这个值

  • Sun JDK 1.2的JVM实现
  • Sun JDK 1.3的实现
  • 任何其他实现的价值(如IBM或其他)
因此,我想知道这些值是什么,我在哪里可以找到它们的参考

或者,巴灵,如果有任何索佩迪亚人可以使用其中一个装置的话。如果是这样,你能编译并运行下面的代码,然后在这里报告吗?或者,你知道吗

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;
    }
}

我不确定你希望从中学到什么,但既然我面前有它。。。win32 IBM 1.4.2 JRE使用的缓冲区大小为
2048

系统:

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

Mac OS X Tiger 10.7.0,默认为苹果提供的虚拟机:

Java(TM) SE Runtime Environment (build 1.6.0_26-b03-383-11A511)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02-383, mixed mode)
然后:


在Windows 7中从my IntelliJ运行:

  • JRE:1.8.0_112-release-724-b6 amd64
  • JVM:JetBrains s.r.o提供的OpenJDK 64位服务器虚拟机
  • Windows7.6.1
输出:

1.8.0_121
8192

这应该标记为社区Wiki。此外,您可以在这里下载归档的Sun JDK版本:是的,但这是大量的工作……我在Mac上,最终会启动EC2实例,安装JVM、yada、yada、yada。(我很懒)社区维基?这只是一个协作的请求,不是一个问题。这是一个非常专业的知识问题,或者向某人展示如何获得它。你知道这些值是什么吗?或者在哪里找到它们?这是一个真正的问题,有一个适当的问号。不管怎样,我编辑了这个问题来安抚你微妙的情感。太好了。谢谢(你还在用1.4编码吗?哎哟。)
1.8.0_121
8192