В чем разница между ByteBuf, полученным из Context, от любого другого ByteBuf
Я обнаружил, что использование получено из
ChannelHandlerContext
ведет себя точно так же, как при использовании created via
Unpooled
Например.
То есть оба эти два работают:
ctx.write(ctx.alloc().buffer().writeBytes("Hello World".getBytes()))
ctx.write(Unpooled.wrappedBuffer("Hello World".getBytes()))
Есть ли разница в поведении, когда
ByteBuf
полученное из
ctx.alloc().buffer()
используется по сравнению с любыми другими средствами создания
BytBuf
?
1 ответ
Решение
В
ChannelHandlerContext
использует
ByteBufAllocator
который настроен для
Channel
. По умолчанию используется
PooledByteBufAllocator
Это означает, что буферы объединяются в пул по соображениям производительности.