C# 垃圾收集器交叉引用

2024-01-16

垃圾收集器是否会为交叉引用的对象/类释放资源,该对象/类不再从主程序中引用。 例如 -

class class1
{
    class2 m_RefClass2;
}
class class2
{
    class1 m_RefClass1;
}

class class3
{
    public class3()
    {
        class1 obj1 = new class1();
        class2 obj2 = new class2();
        obj1.m_RefClass2 = obj2;
        obj2.m_RefClass1 = obj1;
    }
}

是的。 .NET 垃圾收集器不仅仅是对引用进行计数(在这种情况下,这样的安排将导致两个类保持彼此的活动状态)。任何非“有根”的对象(意味着没有从 GC 根对象到该对象的引用路径)都有资格进行收集。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 垃圾收集器交叉引用 的相关文章

  • Json.NET - 反序列化接口属性引发错误“类型是接口或抽象类,无法实例化”

    我有一个类 其属性是接口 public class Foo public int Number get set public ISomething Thing get set 尝试反序列化Foo使用 Json NET 的类给我一条错误消息
  • 线程睡眠和Windows服务

    我正在开发一个 Windows 服务 该服务存在一些问题Thread Sleep 所以我想我会尝试使用计时器 因为这个问题建议 在 Windows 服务中使用 Thread Sleep https stackoverflow com que
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • 将文本叠加在图像背景上并转换为 PDF

    使用 NET 我想以编程方式创建一个 PDF 它仅包含一个背景图像 其上有两个具有不同字体和位置的标签 我已阅读过有关现有 PDF 库的信息 但不知道 如果适用 哪一个对于如此简单的任务来说最简单 有人愿意指导我吗 P D 我不想使用生成的
  • 变量替换为字符串

    我可以做类似的事情吗 s said s blah name blah 在 VB NET 中 写字越来越痛苦name said blah blah 在VB NET 14 对于VS2015 中 您可以使用字符串插值 https msdn mic
  • 确保应用程序独立于用户的屏幕分辨率

    有没有简单的方法可以在任何不同的 PC 上运行在 Visual Studio 2005 上用 C 创建的应用程序 无论其屏幕分辨率如何 屏幕分辨率 NET 2 0 中的 Windows 窗体具有一些处理不同 DPI 的机制 并且具有比 NE
  • ThreadPool.SetMinThreads 不创建任何新线程

    我想弄清楚到底有什么影响ThreadPool SetMinThreads makes 根据官方文档 https learn microsoft com en us dotnet api system threading threadpool
  • WUApiLib IUpdateInstaller2 产生错误;某些操作系统更新安装其他操作系统会抛出 HResult -2145124318

    更新是从本地服务器下载的 而不是从 WUS 或 Microsoft 存储库下载的 本地服务器基于 Linux 该主机包含每次更新的内容 我没有使用UpdateDownloader要从Microsoft服务器下载 我手动下载更新内容 然后使用
  • 为什么可以通过ref参数修改readonly字段?

    考虑 class Foo private readonly string value public Foo Bar ref value private void Bar ref string value value hello world
  • WebBrowser.Print() 等待完成。 。网

    我在 VB NET 中使用 WebBrowser 控件并调用 Print 方法 我正在使用 PDF 打印机进行打印 当调用 Print 时 它不会立即启动 它会等到完成整个子或块的运行代码 我需要确保我正在打印的文件也完整并继续处理该文件
  • WCF服务健康状况监控

    我刚刚实现了 WCF 服务 目前正在研究服务监控选项 我们的服务器团队目前仅托管 java 服务 希望我们的实例始终运行 因此它可以在该实例的生命周期内收集数据 他们表示将使用我们的 webmon 操作之一来获取统计信息 但我们正在使用每次
  • 如何使正则表达式匹配不区分大小写?

    我有以下正则表达式加拿大的邮政编码 http en wikipedia org wiki Postal codes in Canada ABCEGHJKLMNPRSTVXY 1 d 1 A Z 1 d 1 A Z 1 d 1 它工作正常 但
  • 为什么 dotnet 的 char.IsLower() 是静态方法?

    这似乎违背了每一个设计准则 接受 T 类型的单个参数的静态方法通常应该只是一个成员方法 这太奇怪了我实际上不得不发布一个StackOverflow问题 https stackoverflow com questions 389100 is
  • 为标签生成成员:我有什么理由应该这样做?

    我在这里读过另一篇文章 因此 如果可能的话 您不应该为标签生成成员 我想知道有什么潜力缺点到这会是 我说的好处是性能提高 对吗 还要别的吗 我有一个带有 100 个标签的 winform 应用程序 不产生成员有什么好处 还是只有在 Web
  • 如何将 Razor 视图转换为字符串?

    我想使用我的 Razor 视图作为某种发送电子邮件的模板 所以我想将我的模板 保存 在视图中 将其作为字符串读入控制器 进行一些必要的替换 然后发送它 我有有效的解决方案 我的模板作为 HTML 页面托管在某处 但我想将其放入我的应用程序中
  • 访问 XAML 中的静态字段

    如何在 xaml 中引用类的静态属性 换句话说 我想做这样的事情 Class BaseThingy public static readonly Style BaseStyle
  • 用 C# 编写插件或插件框架

    我正在用 C 编写一个 Addin 框架 我想知道如何使 Addin 可以卸载而无需重新启动应用程序 我听说过 AppDomains 但是它们是如何工作的呢 外接程序是否可以添加可扩展性类并通过接口在主应用程序域中调用 并且仍然可卸载并调用
  • 限制 LDAP 查询中返回的属性

    如何限制通过 System DirectoryServices 在 LDAP 查询中返回的属性 我一直在使用 DirectorySearcher 并将我想要的属性添加到 DirectorySearcher PropertiesToLoad
  • 如何判断应用程序是否是Web应用程序

    在 Windows 服务和 Web 应用程序中运行的核心程序集中 我需要存储每个用户会话的信息 该服务将具有单个用户会话 并且 Web 应用程序使用 HttpContext Current 我想配置在核心程序集中使用哪种方法 约定优于配置

随机推荐

  • isset() 在表单上无法正常工作

    我有一个用户提交的注册表单 使用 isset POST 发送数据以查看是否有任何内容放入表单输入框中 如果没有 则将其发送到 else 然后将其发送到一个函数 该函数将用户返回到注册表以完成一些缺少的表单 由于某种原因它无法正常工作 这是我
  • Mongodb-在现有集合上添加唯一索引

    我正在尝试学习 Mongodb 中的索引 我创建了一个数据库和一个集合 如下所示 use mydb db createCollection myFirstCollection one name Helios two name Kepler
  • JavaFX 在场景图控件上循环

    如何循环控制场景 我尝试使用 getChildrenUnmodifying 但它仅返回第一级子级 public void rec Node node f node if node instanceof Parent Iterator
  • pytorch如何设置.requires_grad False

    我想冻结我的一些模型 按照官方文档 with torch no grad linear nn Linear 1 1 linear eval print linear weight requires grad 但它打印True代替False
  • 如果发出 SIGINT 或 SIGSTP,是否会调用析构函数?

    我有一个带有用户定义析构函数的类 如果类最初被实例化 然后在程序运行时发出 SIGINT 在 unix 中使用 CTRL C 析构函数会被调用吗 SIGSTP unix 中的 CTRL Z 的行为是什么 不会 默认情况下 大多数信号都会导致
  • 分离 __iter__ 和 __next__ 方法

    在Python 3中 通过定义一个类同时成为可迭代器和迭代器是标准过程 iter and next 方法 但我很难理解这一点 以创建一个仅生成偶数的迭代器为例 class EvenNumbers def init self max self
  • .STACK 未在 MASM 中分配正确的大小

    基于微软MASM文档 https learn microsoft com en us cpp assembler masm dot stack view vs 2019 STACK指令的用法是 与 MODEL 一起使用时 定义堆栈段 段名称
  • jQuery 显示带有 More 和 Less 链接的第一个 X 元素

    我试图找到一个 jQuery 解决方案 在左侧导航过滤器中显示每个菜单上的前 3 个项目 并带有 显示更多 和 显示更少 链接 使用户能够扩展列表 我已经寻找了一个解决方案 但大多数展开 折叠脚本完全隐藏图层 而其他脚本则显示展开 显示更多
  • Android 应用程序仅在发布 APK 时崩溃

    我有一个好奇的问题 我构建了一个在调试模式下运行良好的应用程序 直接调试我的手机并在手机上安装了调试 APK 但如果我使用发布构建 APK 该应用程序会在某一时刻崩溃 我发现应用程序在发布 APK 时崩溃 但我不知道为什么以及我能做什么 p
  • Passenger Standalone 在触摸 restart.txt 时不会重新启动

    我构建了一个小部署脚本 其工作方式与 Capistrano 类似 它将 Rails 应用程序检出到带时间戳的目录并设置current当一切顺利时链接到该链接 问题是 在触摸 tmp restart txt 时 什么也没有发生 我想知道这是否
  • 匹配两个列表之间的相似元素

    我是 python 新手 所以如果这是一个愚蠢的问题 我深表歉意 我有两个清单 L1 marvel audi mercedez honda and L2 marvel comics bmw mercedez benz audi 我想提取其中
  • 在 Windows 上安装 pyspark

    我可以做一个pip install pyspark在我的窗户上 当我尝试运行下面的示例脚本时 它告诉我我的SPARK HOME未设置 我还需要设置 SPARK HOME 吗 我该怎么做 我在网上提到的博客从 Spark 网站手动提取 Spa
  • 如何禁用 kubernetes 中 2 个不同命名空间中的 pod 之间的交叉通信

    我有 2 个命名空间和 1 个 Pod 每个命名空间中运行 1 个服务 Example Namespace 1 default Pod pod1 Service pod1service Namespace 2 test Pod pod1 S
  • 将时间戳与续集查询中的日期进行比较

    I have createdAt将值存储为的列 2018 11 07 15 03 16 532 00 我想写这样的查询select from table name where createdAt input date 我的input dat
  • 如何在柱形图中隐藏零值

    我正在使用柱形图并将这些值显示在每个条形的顶部 如果值为 0 我不想显示这些值 该怎么做 这是我的代码 var series data dataLabels enabled true color black align right x 3
  • 随机状态代码:连接到 lambda 的 AWS api 网关出现 502 错误

    我使用代理集成通过 api 网关公开了多个 lambda 有时我会收到状态代码 502 的奇怪错误 lambda 云监视日志中没有任何内容 下面我发布了示例请求的 API 网关日志 0cbbd9f5 f1bd 11e7 92c0 4d5d3
  • Android Studio模拟器参数

    Android studio 使用这样的命令行启动模拟器 Users sergey Library Android sdk tools emulator avd Nexus 5 API 22 x86 netspeed full netdel
  • GUI 屏幕转换在 qml 中如何工作

    我是一名 C 开发人员 现在正在研究在 QtQuick 中使用 QML 进行 GUI 开发 在 GUI 创建过程中 用户只能看到一个屏幕 并根据用户交互来切换屏幕 但背后究竟发生了什么 有很多信息仅涉及如何设计单个屏幕 但有关如何管理其状态
  • 设置 1000 到 10.00 之间数字的格式

    我想将 1000 格式化为 10 00 PHP number format 函数似乎对此不起作用 我努力了 amount2 number format cost 2 echo cost 有任何想法吗 有没有办法可以操作 number for
  • C# 垃圾收集器交叉引用

    垃圾收集器是否会为交叉引用的对象 类释放资源 该对象 类不再从主程序中引用 例如 class class1 class2 m RefClass2 class class2 class1 m RefClass1 class class3 pu