我一直在做一些關於java.io.BufferedInputStream
和緩衝區的博客文章的一些研究。顯然,多年來,默認情況下從512字節增長到8192字節,其中(無禮) Sun的Java 7實現,甚至在JavaDocs in JDK 1.1.8中也有明確規定。我的問題也提出了who/what deciedes what the default should be的問題 - 它並不像我預期的那樣黑白。舊式和異步JVM上java.io.BufferedInputStream的默認緩衝區大小是多少?
我很好奇在每個版本發行版上默認的緩衝區大小是多少,以及它在其他異國情調的JVM中可能是什麼。到目前爲止,我已經通過源代碼,JavaDocs或Sun bug報告跟蹤了它,分別是1.0,1.1,1.4,Java 5,Java 6和(妄想再次) Sun的Java 7 JVM。
什麼我沒來是這個值
- 太陽JDK 1.2的JVM實現
- 太陽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;
}
}
這應該被標記爲社區維基。此外,您可以在此處下載已存檔的Sun JDK版本:http://java.sun.com/products/archive/ – BalusC 2010-01-19 17:04:04
是的,但這有很多工作...我在Mac上,最終會踢掉EC2實例,安裝JVM,yada,yada,yada。 (我很懶。) – 2010-01-19 17:09:02
社區Wiki?這只是對合作的要求,而不是問題。 – BalusC 2010-01-19 17:21:16