社区
C#
帖子详情
如何获得托管堆中的某个对象实例所具有的所有指向它的引用的数量?
possible_Y
2008-06-12 10:11:01
在.net里,如何获得托管堆中的某个对象实例所具有的所有指向它的引用的数量?
...全文
131
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#
托管
堆,堆栈【图文非常详细】
首先堆栈和堆(
托管
堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB) 堆栈stack 堆栈中存储值类型。 堆栈实际上是向下填充,即由高内存地址
指向
低内存地址填充。 堆栈的工作方式是先分配...
堆栈和
托管
堆 c#
堆栈和
托管
堆 c# 首先堆栈和堆(
托管
堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB) 堆栈stack 堆栈中存储值类型。 堆栈实际上是向下填充,即由高内存地址
指向
低内存地址填充。 ...
引用
类型、
托管
堆
在
托管
堆中
分配的每个
对象
都有与之相关联的附加成员(且必须初始化) 由垃圾回收机制来管理 所有被称为累的都是
引用
类型(类、接口、数组、委托) 值类型直接存储其值,
引用
类型存储对其值的
引用
using System; ...
C#堆栈和
托管
堆
首先堆栈和堆(
托管
堆)都在进程的虚拟内存中。(在32位处理器上每个进程的虚拟内存为4GB) 堆栈stack 堆栈中存储值类型。 堆栈实际上是向下填充,即由高内存地址
指向
低内存地址填充。 堆栈的工作方式是先分配内存的...
C#
对象
生存期与垃圾回收机制 《.NET之美:.NET关键技术深入解析》笔记
【CSND】Unity游戏开发学习群 加入我们一起学习吧:1022366216
对象
生存期 大家应该都熟悉值类型和
引用
类型,这两种类型...注意:只有
引用
类型的
对象
才会分配在
托管
堆上,因此,只有
引用
类型的
对象
才需要进行垃圾收集,
C#
111,118
社区成员
642,553
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章