在什么情况下使用这个函数?
业精于勤,荒于嬉;行成于思,毁于随。
ReferenceCountUtil.release() は、実際には ByteBuf.release() メソッドのラッパーです (ReferenceCounted インターフェイスから継承)。 netty4 の ByteBuf は参照カウントを使用します (netty4 はオプションの ByteBuf プールを実装します)。新しく割り当てられた各 ByteBuf の参照カウント値は 1 です。この ByteBuf オブジェクトに参照が追加されるたびに、ByteBuf.retain() メソッドを呼び出す必要があります。 、参照が削減されるたびに、ByteBuf.release() メソッドを呼び出す必要があります。この ByteBuf オブジェクトの参照カウント値が 0 の場合、このオブジェクトは再利用可能であることを意味します。これを説明するために ByteBuf を使用しているだけです。現時点では、ReferenceCounted インターフェイスを実装するオブジェクトが他にもあります。
InBoundから読み込んだByteBufは手動で解放する必要があり、自分で作成したByteBufは自分で解放する必要があります。このリリース メソッドは、次の 2 つの場所で呼び出す必要があります。 Bytebuf を OutBound に書き込む場合、netty がそれを解放する責任を負い、手動で release を呼び出す必要はありません
ReferenceCountUtil.release() は、実際には ByteBuf.release() メソッドのラッパーです (ReferenceCounted インターフェイスから継承)。 netty4 の ByteBuf は参照カウントを使用します (netty4 はオプションの ByteBuf プールを実装します)。新しく割り当てられた各 ByteBuf の参照カウント値は 1 です。この ByteBuf オブジェクトに参照が追加されるたびに、ByteBuf.retain() メソッドを呼び出す必要があります。 、参照が削減されるたびに、ByteBuf.release() メソッドを呼び出す必要があります。この ByteBuf オブジェクトの参照カウント値が 0 の場合、このオブジェクトは再利用可能であることを意味します。これを説明するために ByteBuf を使用しているだけです。現時点では、ReferenceCounted インターフェイスを実装するオブジェクトが他にもあります。
InBoundから読み込んだByteBufは手動で解放する必要があり、自分で作成したByteBufは自分で解放する必要があります。このリリース メソッドは、次の 2 つの場所で呼び出す必要があります。
Bytebuf を OutBound に書き込む場合、netty がそれを解放する責任を負い、手動で release を呼び出す必要はありません