BufferedOutputStream vs ByteArrayOutputStream - PullRequest
21 голосов
/ 26 июля 2011

Есть ли какое-либо преимущество в обертывании BufferedOutputStream вокруг ByteArrayOutputStream вместо простого использования ByteArrrayOutputStream?

Ответы [ 3 ]

16 голосов
/ 26 июля 2011

Обычно оболочка BufferedOutputStream в основном используется для предотвращения частых записей на диск или сеть Может быть намного дороже отдельно написать много маленьких частей, чем сделать несколько довольно больших операций. ByteArrayOutputStream работает в памяти, так что я думаю, что перенос бессмыслен.

Если вы хотите знать точный ответ, попробуйте создать простое приложение для измерения производительности.

2 голосов
/ 26 июля 2011

Абсолютно нет. Хотя BufferedWriter и BufferedReader действительно предоставляют дополнительную функциональность для работы со строками.

0 голосов
/ 21 февраля 2016

ByteArrayOutputStream не рекомендуется, если вы хотите добиться высокой производительности, но одна интересная особенность - отправка сообщения с неизвестной длиной. Для лучшего понимания того, как работают эти два метода, см. http://java -performance.info / java-io-bytearrayoutputstream / .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...