建议使用BufferedWriter缓冲输入到outputStreamWriter的输入,因为这会阻止编写器为每个字符启动编码器。
由谁推荐,在什么情况下推荐?“启动编码器”是什么意思?无论如何,您一次要写一个字符给作家吗?(我们对您使用作家的方式了解不多,这可能很重要。)
然后,BufferedOutputStream将缓冲来自Writer的字节,以避免一次将一个字节放入网络中。
是什么让您认为它将一次写入一个字节?我认为
OutputStreamWriter一次向底层写入器写入一个字节的可能性很小,除非您真的一次向其写入一个字符。
另外,我希望网络输出流使用类似Nagle算法的方法来避免发送单字节数据包。
与优化一样,您应该基于证据进行此操作…是否进行了这些缓冲层的测试?
编辑:只是为了澄清,我并不是说缓冲类是无用的。在某些情况下,它们 绝对 是正确的方法。我只是说,与 所有
优化一样,不应盲目使用它们。您应该考虑要优化的内容(处理器使用率,内存使用率,网络使用率等)并进行衡量。这里有许多重要因素-
尤其是写模式。如果您已经在“大块”地写字符数据块了,那么缓冲区的影响将相对较小。如果您实际上一次要写一个字符给作者,那么它们会更有意义。



