介绍垃圾回收中标记存活对象和固定对象的方法,存活对象通过设置MethodTable的最后一位为1标记,固定对象通过设置对象头的高三位为1标记。同时介绍了判断对象是否被标记和是否为固定对象的方法,以及清除标记的方法。
.Net中的固定对象可以防止GC误回收对象,分配到GC堆外更加安全。CLR处理固定对象的句柄,验证其范围确实在GC堆外。字符串实例可能在没有固定句柄的情况下被判断为在GC堆内。
完成下面两步后,将自动完成登录并继续当前操作。