Почему рекомендуется использовать только буферы кучи с операциями [byte] в ChannelOutboundHandler.? - PullRequest
0 голосов
/ 02 октября 2018

Мы работаем над открытым исходным кодом для шлюза API и используем Netty в качестве базового фреймворка.

Я наткнулся на слайды Нормана Маурера.На одном из слайдов он упомянул

Используйте буферы кучи только в том случае, если необходимо работать с байтом [] в ChannelOutboundHandler!По умолчанию прямой ByteBuf будет возвращен ByteBufAllocator.buffer (...).

Примите это как практическое правило

В чем причина этого большого пальца правила?

1 Ответ

0 голосов
/ 04 октября 2018

Важной частью является "если нужно работать с байтом []".Как только при использовании кучи ByteBuf s можно использовать byteBuf.array() для доступа к базовому byte[] без необходимости делать дополнительную копию памяти.

...