在c#中,当我们将一个class实例化后,系统会给class里面的方法分配内存吗?如果分配的话是每个实例化的方法都分配还是实例化对象共享一块方法分配的内存?求科普。
方法的实例只有一份,所有实例共享。
谢谢,有么有什么官方的说明。
@lorgine: 《编译原理》
类是引用类型的,实例化时会在托管堆中创建一块内存,存放类中的变量值,及类本身的一些标识信息,而方法最终于也是操作变量,所以不会给方法分配内存
另外,类每实例化一次时都会重新创建新的内存空间,当类实例不在被任何对象引用时,GC 就会遍历到这个对象,然后把它标记为删除,在某一时刻清除实例所占用的内存。
推荐好书 《你必须知道的.net》 看完后你对.net 将会更加了解