社区
C#
帖子详情
如何获得托管堆中的某个对象实例所具有的所有指向它的引用的数量?
possible_Y
2008-06-12 10:11:01
在.net里,如何获得托管堆中的某个对象实例所具有的所有指向它的引用的数量?
...全文
182
7
打赏
收藏
如何获得托管堆中的某个对象实例所具有的所有指向它的引用的数量?
在.net里,如何获得托管堆中的某个对象实例所具有的所有指向它的引用的数量?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yilanwuyu123
2008-06-12
打赏
举报
回复
mark一下 有难度
Jade_2008
2008-06-12
打赏
举报
回复
[Quote=引用 3 楼 fengweizhijie 的回复:]
内存管理在进行垃圾回收的时候要遍历引用
找到没有引用关联的托管堆,释放之
如果能获得托管堆中的某个对象实例所具有的所有指向它的引用的数量
那就不用遍历了啊,所以还好像不行把
但是可以自己写个函数来记录一下,想必楼主只是想知道某个,或某几个对象把,也不麻烦
[/Quote]
顶!!
fengweizhijie
2008-06-12
打赏
举报
回复
内存管理在进行垃圾回收的时候要遍历引用
找到没有引用关联的托管堆,释放之
如果能获得托管堆中的某个对象实例所具有的所有指向它的引用的数量
那就不用遍历了啊,所以还好像不行把
但是可以自己写个函数来记录一下,想必楼主只是想知道某个,或某几个对象把,也不麻烦
江城老温
2008-06-12
打赏
举报
回复
这个在C#能取得吗?而且在c#标准类型里能指向同一段内存区域的类型就只有StringBuilder吧?
ojekleen
2008-06-12
打赏
举报
回复
mark
yagebu1983
2008-06-12
打赏
举报
回复
非常关注!!!
帮你顶!!
gomoku
2008-06-12
打赏
举报
回复
拿到"引用的数量"有什么特殊用途吗?
.Net的垃圾回收并不根据引用的数量来决定的,
而是根据是否存在从根部(Root)到对象的连通来决定的,所有能连通的对象都被标记为"有用的"。
当遍历到一个标记过的节点,垃圾回收机制就停止由该节点往下的搜索。这样可以避免
循环引用
的问题。
垃圾回收都不关心具体的引用数量,你应该也可以放弃这种需求。
【
托管
引用
】C++/CLI中的
引用
类型
本文详细介绍了C++/CLI中
引用
类型
对象
的内存分配位置及
托管
堆与栈的区别,强调了
引用
类型
对象
总是分配在
托管
堆上,并讨论了与内存无关的清除工作通常在析构函数中进行。同时,文章比较了
托管
堆中
的
对象
与栈中
对象
(如局部变量)在生命周期和内存管理上的差异,解释了
引用
类型
对象
在
托管
堆中
的生存期控制和确定性析构的重要性。
C++/CLI中的
引用
类型
本文探讨了C++中
托管
堆与栈的区别,重点讲解了
引用
类型与值类型的内存分配方式,以及gcnew关键字的作用。文章详细说明了o与os变量在生命周期及内存管理方面的不同,解释了确定性析构的概念及其重要性。
Unity文档——了解
托管
堆
本文深入探讨Unity中的
托管
堆,解释其工作原理、垃圾回收机制及内存管理策略。重点关注
托管
堆扩展的问题,包括内存碎片、临时分配的影响以及如何优化内存使用。
深入.NET
托管
堆(Managed Heap)
本文详细探讨了.NET框架中的
托管
堆及其垃圾回收机制,包括其如何优化内存管理和
对象
生命周期,以及如何通过IDisposable接口正确管理外部资源。
C#
111,132
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章