加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在无限循环中创建的对象的垃圾收集

发布时间:2020-12-15 18:28:27 所属栏目:百科 来源:网络整理
导读:我有一个非常基本的问题. 我写了一个这样的循环: while(true){ MyTestClass myObject = new MyTestClass();} 什么时候会创建对象 循环,垃圾收集? 此外,对于每次迭代,都是如此 新的内存位置是 分配给myObject引用? 如果我写myObject = null怎么办?在每次
我有一个非常基本的问题.

我写了一个这样的循环:

while(true)
{
   MyTestClass myObject = new MyTestClass();
}

>什么时候会创建对象
循环,垃圾收集?
>此外,对于每次迭代,都是如此
新的内存位置是
分配给myObject引用?
>如果我写myObject = null怎么办?在每次迭代结束时?

解决方法

>坦率地说,只要GC感觉如此;永远不会读取变量,因此始终符合条件 > myObject是变量 – 在堆栈上有一个固定的位置供参考;但是,每个新的MyTestClass()都是一个不同的对象,在可用堆空间的某处创建;每次都不一样 >没有任何区别;严格来说,有一些复杂性涉及变量的实际声明点(在IL中)以及实际实现的时间 – 但这只会在退出循环后显示.因为在每次迭代中你都会立即分配它,所以这里没有明显的区别

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读