只读引用类型's指针可以在GC压缩后移动,并在.net中移动
本文关键字:移动 GC 压缩 net 并在 引用类型 指针 只读 | 更新日期: 2023-09-27 18:18:30
我们都知道readonly
引用类型变量的引用不能改变,但是GC可以改变它。当GC改变readonly
类型的指针时会发生什么?
如果您要问当GC移动只读类型的变量时会发生什么
那么答案就是什么都没发生。GC像往常一样移动位置。这是所有的
对于GC来说,移动非只读类型和移动只读类型是一样的。只读和非只读概念适用于非GC的程序员
只读实际上不是只读…例如,反射可以更改只读字段。因此,这与任何其他引用没有什么不同(因为GC是VM的一部分,比反射强得多)。
改变字符串的值。空的总是适合傻笑……(咳,我从来不会那样做,咳)
首先,readonly
引用可以在构造函数内部重新分配。至于GC移动指针,它与其他普通指针没有什么特别之处,只是用户代码不能改变它们指向的对象。
本质上readonly
只是阻止你改变引用,而不是阻止运行时做它应该做的事情。