在Java中寻找BufferedInputStream的最佳大小
|
我正在分析正在加载二进制文件的代码.加载时间约为15秒. 我的大部分加载时间来自加载二进制数据的方法. 我有以下代码来创建我的DataInputStream:
我把它改成了这个:
所以在我做了这个小修改之后,加载代码从15秒变为4. 但后来我发现BufferedInputStream有两个构造函数.另一个构造函数允许您显式定义缓冲区大小. 我有两个问题: >在BufferedInputStream中选择了什么尺寸,它是否理想?如果没有,我怎样才能找到缓冲区的最佳大小?我应该写一些快速执行二进制搜索的代码吗? BufferedInputStream的默认缓冲区大小为8kb,因此您可以尝试增加或减少它以查看它是否有帮助.我怀疑确切的数字很重要,所以你可以简单地乘以或除以2. 如果文件很小,您也可以尝试完全缓冲它.这应该在理论上给你最好的表现.您还可以尝试增加GZIPInputStream的缓冲区大小(默认为512字节),因为这可能会加快从磁盘读取速度. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- java – 无法在Eclipse项目属性中保存“是一个Tomcat项目”
- java – 清理Jetty – 删除’不必要的东西’
- java – EJB:在PostConstruct方法中使用EntityManager
- java 配置MyEclipse Maven环境具体实现步骤
- Tomcat报错:HTTP Status 500 (Wrapper cannot find servl
- java – 如何在GWT中预取图像?
- 浅谈Spring Boot 属性配置和自定义属性配置
- java – 来自jsp的response.sendRedirect():include被忽略
- Java无限级树(递归)超实用案例
- java – 调用静态方法的实例
