只读引用类型's指针可以在GC压缩后移动,并在.net中移动

本文关键字:移动 GC 压缩 net 并在 引用类型 指针 只读 | 更新日期: 2023-09-27 18:18:30

我们都知道readonly引用类型变量的引用不能改变,但是GC可以改变它。当GC改变readonly类型的指针时会发生什么?

只读引用类型's指针可以在GC压缩后移动,并在.net中移动

如果您要问当GC移动只读类型的变量时会发生什么

那么答案就是什么都没发生。GC像往常一样移动位置。这是所有的

对于GC来说,移动非只读类型和移动只读类型是一样的。只读和非只读概念适用于非GC的程序员

只读实际上不是只读…例如,反射可以更改只读字段。因此,这与任何其他引用没有什么不同(因为GC是VM的一部分,比反射强得多)。

改变字符串的值。空的总是适合傻笑……(咳,我从来不会那样做,咳)

首先,readonly引用可以在构造函数内部重新分配。至于GC移动指针,它与其他普通指针没有什么特别之处,只是用户代码不能改变它们指向的对象。

本质上readonly只是阻止你改变引用,而不是阻止运行时做它应该做的事情。