【发布时间】:2011-07-25 20:23:19
【问题描述】:
将 BufferedOutputStream 包裹在 ByteArrayOutputStream 周围而不是单独使用 ByteArarrayOutputStream 有什么优势吗?
【问题讨论】:
标签: java io bytearrayoutputstream
将 BufferedOutputStream 包裹在 ByteArrayOutputStream 周围而不是单独使用 ByteArarrayOutputStream 有什么优势吗?
【问题讨论】:
标签: java io bytearrayoutputstream
通常 BufferedOutputStream 包装器主要用于避免频繁的磁盘或网络写入。单独编写许多小块可能比进行几个相当大的操作要昂贵得多。 ByteArrayOutputStream 在内存中运行,所以我认为包装是没有意义的。
如果您想知道确切的答案,请尝试创建一个简单的性能测量应用程序。
【讨论】:
绝对没有。尽管 BufferedWriter 和 BufferedReader 确实提供了额外的功能,但如果您要对字符串进行操作。
【讨论】:
如果您想获得高性能,不建议使用 ByteArrayOutputStream,但一个有趣的功能是发送未知长度的消息。要更好地理解这两种方法的工作原理,请参阅http://java-performance.info/java-io-bytearrayoutputstream/。
【讨论】: