【记录】New操作符所做的事情

1.它计算类型以及所有基类型(一直到System.Object,虽然它没有定义自己的实例字段)中定义的所有实例字段需要的字节数。堆上的每个对象都需要一些额外的成员---即“类型对象指针”和“同步块索引”。 这些成员由CLR用于管理对象。这些额外成员的字节数会计入对象大小。

2.它从托管堆中分配制定类型要求的字节数,从而分配对象的内存,分配的所有字节都设为0.

3.它初始化对象的“类型对象指针”和“同步块索引”成员。

4.调用类型的实力构造器,向其传入在对new的调用中指定的任何实参。大多数编译器都在构造器重自动生成代码来调用一个基类构造。每个类型的构造在调用时,都要负责初始化由这个类型定义的实例字段。最终调用的说System.Object的构造器,该构造器知识简单地返回,不会做其他任何事情。为了证明这一点,可使用ILDasm.exe加载MSCorLib.dll,检查System.Object的构造器。

【记录】New操作符所做的事情

时间: 2024-11-05 15:48:33

【记录】New操作符所做的事情的相关文章

new操作符所做的事情

1: 计算类型及其所有基类中定义的所有实例字段需要的字节数. 2:从托管堆中分配类型要求的字节数,从而分配对象的内存,分配的所有字节都设为0. 3: 初始化对象的“类型对象指针”和“同步块索引”成员. 4: 调用类型的实例构造器,传递在 new 调用中制定的实参 new执行了所有這写操作之后,返回指向新建对象的引用

《极客头条》精选:每天每周每月每年程序员该做的事情

程序员每天该做的事 1.总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 2.考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 3.考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢的 4.考虑自己一天工作完成的质量和效率能否还能提高 一天只提高1%,365天你的效率就能提高多少倍你知道吗?(1+

【Android开发-1】必做的事情,android开发环境搭建

前言:互联网移动端现在发展的速度越来越快了,各种App应用软件和手游的崛起,把移动端弄的丰富多彩:心情一激动,头脑一发热,就开始看视频.看书学习了.记得11年的时候有学习了下Android的开发,但是只是基础的学习了下,没认真深入学习.这次自己决定认真学习下,并用博客记录下,见证自己成长的过程. 一.准备工作 1.下载最新版jdk:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.下载Eclipse,选择Ec

高级Linux SA需要会做的事情

高级Linux SA需要会做的事情:linux---------系统安装(光盘或自动化安装)linux---------系统常用工具安装(sudo,ntp,yum,rsync,lrzsz sysstat curl wget nmap tree iptraf screen,sysstat net-snmp)linux---------系统优化(内核优化,时间优化,字体优化,vim优化,硬盘优化,fail2ban防暴力工具,增加文件描述符限制优化,默认进程开启优化)linux---------sud

C#的new操作符到底做了什么

使用new操作符来创建对象,其背后到底发生了什么? 有一个父类Animal,Dog派生于Animal. class Program { static void Main(string[] args) { Dog dog = new Dog(); Console.WriteLine("我能调用老祖宗Object的实例方法GetType,显示结果为:" + dog.GetType() ); Console.WriteLine("我能拿到父类的属性Age=" + dog.

每天,每周,每月,每年程序员该做的事情

程序员每天该做的事 1.总结自己一天任务的完成情况 最好的方式是写工作日志,把自己今天完成了什么事情,遇见了什么问题都记录下来,日后翻看好处多多 2.考虑自己明天应该做的主要工作 把明天要做的事情列出来,并按照优先级排列,第二天应该把自己效率最高的时间分配给最重要的工作 3.考虑自己一天工作中失误的地方,并想出避免下一次再犯的方法 出错不要紧,最重要的是不要重复犯相同的错误,那是愚蠢的 4.考虑自己一天工作完成的质量和效率能否还能提高 一天只提高1%,365天你的效率就能提高多少倍你知道吗? (

Android Activity生命周期都该做哪些事情?

Android系统根据生命周期的不同阶段唤起对应的回调函数来执行代码.系统存在启动与销毁一个activity的一套有序的回调函数.本节来讨论下不同生命周期的回调函数里都该做哪些事情,不该做哪些事情. 理解生命周期的回调 在一个activity的生命周期中,系统会像金字塔模型一样去调用一系列的生命周期回调函数.Activity生命周期的每一个阶段就像金字塔中的台阶.当系统创建了一个新的activity实例,每一个回调函数会向上一阶移动activity状态.处在金字塔顶端意味着当前activity处

C# Online ! 第三篇:连C#也不例外 ! 这是新手都要做的事情!!

玩过Online game的朋友一定都知道,游戏刚开始新手都会有一定要做的事情,可能是先去打木人,或是先找头上有惊叹号的人说说话,这样很快就可以练到LV5了喔!!这种简单的事情对新手来说,意义可是很重大的,从LV1(什么都没有) ~ LV5(好像还是什么都没有...但是等级至少比较高了嘛..),既然新手都有一些一定要做的事情,想必写程序也是一样,来去Bing一下吧!! "hello, world"这个是我查询出来的结果,这似乎是写程序的初心者一开始都必须做的事情啊...而且这是有典故的

测试执行阶段一般要做哪些事情?

什么是测试执行?测试执行在实际工作过程中一般指1)测试用例编写完成2)测试数据准备完成3)开发完成开发.自测.提测4)测试环境搭建完毕以上四点完成之后,接下来要做的具体工作测试执行阶段要做的事情:1.对软件进行冒烟测试,也叫做预测试2.根据测试方案和测试策略.计划 进行软件的功能测试,执行测试用例3.记录测试结果4.讨论定位确认发现的问题5.发散测试(测试时间充裕的情况下)6.文档测试7.测试总结报告http://www.bcbxhome.com/bcbx/forum.php?mod=viewt