В чем разница между 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 Это означает, что буферы объединяются в пул по соображениям производительности.

Другие вопросы по тегам