.Net 基础概念 堆与栈、值类型与引用类型、装箱与拆箱性能影响

1、值类型与引用类型

  值类型声明赋值如:不的值怎么变j也不会变,还是0;因为是值类型,拷贝的;相反引用类型,就会随着i的值变化,而变,为什么呢?因为它是引用的!

int i=0;

i=j;

2、栈与堆

创建一个int i这个就是存在 栈,而创建一个对像Object那当然就是存在堆上了;

记住,栈上存的是静态内存,而堆上存的是,动态内存。

3、装箱与拆箱

把数据从栈移动到堆上时会有性能损失。当我们把一个值类型装箱为引用类型时,数据从栈移动到堆上。

反之,数据从堆移动到栈上。这种在堆和栈之间的移动带来了性能的损失。数据从值类型转变为引用类型的过程称为“装箱”,反之为“拆箱”。

原文地址:https://www.cnblogs.com/p_db/p/2581656.html