以纯二进制的形式在内存中绘制一个对象
一个对象总是映射一块连续的内存序列(不考虑对象之间的引用关系),如果我们知道了引用类型实例的内存布局,以及变量引用指向的确切的地址,我们不仅可以采用纯“二进制”的方式在内存“绘制”一个指定引用类型的实例,还能直接通过改变二进制内容来更新实例的状态。
一、引用类型实例的内存布局
二、以二进制的形式创建对象
三、字节数组与实例状态的同一性
四、ObjHeader针对哈希被同步状态的缓存
一、引用类型实例的内存布局
从内存布局的角度来看,一个引用类型的实例由如下图所示的三部分组成:ObjHeader + TypeHandle + Fields。前置的ObjHeader用来缓存哈希值和同步状态(《如何.....
暂无评论...