将BufferedOutputStream包裹在ByTearRayOutputStream上,而不仅仅是使用ByTearRrayOutputStream,是否有任何优势?

有帮助吗?

解决方案

通常,BufferedOutputStream包装器主要用于避免频繁的磁盘或网络写入。单独写很多小件比进行几个相当大的操作要贵得多。 ByTearRayOutputStream在内存中运行,因此我认为包装毫无意义。

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

其他提示

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top