BufferedOutputStream против BytearrayOutputStream
-
26-10-2019 - |
Вопрос
Существует ли какое -либо преимущество в обертке буферизации -аудитория вокруг байторри -аутиптутория вместо того, чтобы само по себе использование BytearrrayOutputStream?
Решение
Обычно оболочка BufferedOutputStream в основном используется, чтобы избежать частых дисков или сетевых записей. Это может быть гораздо дороже отдельно писать много небольших кусочков, чем сделать несколько довольно больших операций. BytearrayOutputStream работает в памяти, поэтому я думаю, что упаковка бессмысленна.
Если вы хотите узнать точный ответ, попробуйте создать простое приложение, измеряющее производительность.
Другие советы
Абсолютно нет. Хотя BufferedWriter и BufferedReader предлагают дополнительную функциональность, если вы работаете на строках.
BytearrayOutputStream не рекомендуется, если вы хотите получить высокую производительность, но одна интересная функция - отправить сообщение с неизвестной длиной. Для лучшего понимания того, как работают эти два метода, см. http://java-ferformance.info/java-io-bytearrayoutputstream/.