zoukankan      html  css  js  c++  java
  • C#托管堆对象实例包含什么


    每个托管堆上的对象实例除了包含本身的值外,还包括:
    ○ Type Object Ponter: 指向Type对象实例。如果是同类型的对象实例,就指向同一个Type对象实例。
    ○ Sync Block Index:在多线程情况下用来控制同步

     

    namespace ConsoleApplication1
    
    {
    
        class Program
    
        {
    
            static void Main(string[] args)
    
            {
    
                Cow cow1 = new Cow();
    
                cow1.mooCount = 1;
    
                Cow cow2 = new Cow();
    
                cow2.mooCount = 2;
    
                Type t1 = cow1.GetType();
    
                Type t2 = cow2.GetType();
    
                Console.WriteLine(t1.FullName);
    
                Console.WriteLine(t2.FullName);
    
            }
    
        }
    
        public class Cow
    
        {
    
            public int mooCount;
    
        }
    
     
    
    }
    

    结果:
    ConsoleApplication1.Cow
    ConsoleApplication1.Cow

     

    ○ 调用对象实例的GetType方法,可以获取到Type类型对象,这就是所谓的反射
    ○ 以上的cow1和cow2的类型都是Cow,所以这2个实例指向同一个Type对象

     

    用图表示,就是:
    11

    另外,当值类型调用GetType方法时,会在托管堆上创建box,并有Type Object Pinter。

  • 相关阅读:
    mysql 常用语句
    easyui 时间格式化
    sql学习
    Java基础知识
    windows部署环境(laravel项目)
    gradle spring boot构建项目
    linux mysql操作
    composer
    linux常用命令
    mongodb使用手册
  • 原文地址:https://www.cnblogs.com/darrenji/p/3975880.html
Copyright © 2011-2022 走看看