在什么情况下使用这个函数?
业精于勤,荒于嬉;行成于思,毁于随。
ReferenceCountUtil.release()其實是ByteBuf.release()方法(從ReferenceCounted介面繼承而來)的包裝。 netty4中的ByteBuf使用了引用計數(netty4實現了一個可選的ByteBuf池),每一個新分配的ByteBuf的引用計數值為1,每對這個ByteBuf物件增加一個引用,需要呼叫ByteBuf.retain()方法,而每減少一個引用,就需要呼叫ByteBuf.release()方法。當這個ByteBuf物件的參考計數值為0時,表示此物件可回收。我這只是用ByteBuf說明,還有其他物件實作了ReferenceCounted接口,此時同理。
從InBound讀取的ByteBuf要手動釋放,還有自己創建的ByteBuf要自己負責釋放。這兩處要呼叫這個release方法。 write 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要自己負責釋放。這兩處要呼叫這個release方法。
write Bytebuf到OutBound時由netty負責釋放,不需要手動調用release