Java版本和JVM之间的区别在哪里?
我问的是因为最近有一个关于默认缓冲区大小的SOpedian的'教育'评论帖子java.io.BufferedInputStream,我看到它是8192.(它一直是8192吗?)当考虑API时,很明显是什么是什么.但随着实现一个的java.*类......我只是不知道.
这导致两个衍生问题:
BufferedInputStream是Java版本之间的默认缓冲区大小更改?BufferedInputStream的默认缓冲区大小是在各种供应商的JVM不同?(当然还有其他类似的例子,比如各种集合的实现.)
由于API规范BufferedInputStream没有指定值,因此完全由实现来选择一个.
这意味着默认缓冲区大小可以在Java版本之间以及相同Java规范的不同实现之间更改.
它在其他领域几乎相同:真正的规范是文档(即JLS,JVM规范和API规范,或者更确切地说是相应的JCP).
其他所有内容(即从查看源代码可以看到的所有内容)都是一个实现细节,具体取决于它是一个错误.
| 归档时间: |
|
| 查看次数: |
358 次 |
| 最近记录: |