【问题标题】:BufferedOutputStream vs ByteArrayOutputStreamBufferedOutputStream 与 ByteArrayOutputStream
【发布时间】:2011-07-25 20:23:19
【问题描述】:

将 BufferedOutputStream 包裹在 ByteArrayOutputStream 周围而不是单独使用 ByteArarrayOutputStream 有什么优势吗?

【问题讨论】:

    标签: java io bytearrayoutputstream


    【解决方案1】:

    通常 BufferedOutputStream 包装器主要用于避免频繁的磁盘或网络写入。单独编写许多小块可能比进行几个相当大的操作要昂贵得多。 ByteArrayOutputStream 在内存中运行,所以我认为包装是没有意义的。

    如果您想知道确切的答案,请尝试创建一个简单的性能测量应用程序。

    【讨论】:

      【解决方案2】:

      绝对没有。尽管 BufferedWriter 和 BufferedReader 确实提供了额外的功能,但如果您要对字符串进行操作。

      【讨论】:

        【解决方案3】:

        如果您想获得高性能,不建议使用 ByteArrayOutputStream,但一个有趣的功能是发送未知长度的消息。要更好地理解这两种方法的工作原理,请参阅http://java-performance.info/java-io-bytearrayoutputstream/

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-02
          • 1970-01-01
          • 2013-07-05
          • 2018-02-12
          • 1970-01-01
          • 2017-09-17
          • 2017-06-17
          相关资源
          最近更新 更多