前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Netty核心接口源码之ReferenceCounted

Netty核心接口源码之ReferenceCounted

作者头像
JavaEdge
发布2021-02-22 16:23:41
5090
发布2021-02-22 16:23:41
举报
文章被收录于专栏:JavaEdgeJavaEdge
  • 位于 netty 自己的工具包下

一个引用计数的对象,需要显式取消分配。

当实例化一个新的ReferenceCounted时,它从引用计数1开始。

  • retain 引用计数加一
  • release引用计数减一。如果引用计数减到0,则将显式释放对象,并且访问该释放对象通常会导致访问冲突。

如果实现ReferenceCounted的对象是其他实现ReferenceCounted的对象的容器,则当容器的引用计数变为0时,包含的对象也将通过release释放。

API

int refCnt() 返回对象的引用计数.如果返回0,意味着对象已经被回收. ReferenceCounted retain() 将引用计数增加1 ReferenceCounted retain(int increment) 将引用计数增加指定数量 boolean release() 将引用计数减一, 如果引用计数达到0则回收这个对象. 注意: 返回的boolean值, 当且仅当引用计数变成0并且这个对象被回收才返回true. boolean release(int decrement) 同上,将引用计数减少指定数量 ReferenceCounted touch(Object hint) 出于调试目的,用一个额外的任意的(arbitrary)信息记录这个对象的当前访问地址. 如果这个对象被检测到泄露了, 这个操作记录的信息将通过ResourceLeakDetector提供. ReferenceCounted touch() 这个方法等价于touch(null). 注意除了refCnt()方法之外,其他的几个方法都是返回ReferenceCounted对象. 实现中一般时返回当前对象本身,以便实现链式(train)调用.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • API
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档