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