我正在编写一个NUL终止JSON消息的编码器,以便在消息碎片化的情况下对其进行解码。我找到了这个样本->click最后调用ByteBuf.retain()将现有的ByteBuf写入输出。他们为什么这样做,为什么需要这样做?这是我的编码器:publicclassFrameEncoderextendsMessageToMessageEncoder{@Overrideprotectedvoidencode(ChannelHandlerContextctx,ByteBufmsg,Listout)throwsException{out.add(msg.retain());out.add(ctx.