.Net程序员们每天都在和Object在打交道
如果你问一个.Net程序员什么是Object,他可能会信誓旦旦的告诉你"Object还不简单吗,就是所有类型的基类"
这个答案是对的,但是不足以说明Object真正是什么

在这篇文章我们将会通过阅读CoreCLR的源代码了解Object在内存中的结构和实际到内存中瞧瞧Object

Object在内存中的结构

为了便于理解后面的内容,我先用一张图说明Object在内存中的结构

Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训

.Net中的Object包含了这三个部分

  • 指向头部的指针

  • 指向类型信息的指针

  • 字段内容

微软有一张更全的图(说明的是.Net Framework的结构,但是基本和.Net Core一样)