值类型与引用类型区别

                                                                                                                                                    
 

值类型

引用类型

存储方式

直接存储数据本身

存储的是数据的引用,数据存储在数据堆中

内存分配

分配在栈中的

分配在堆中

效率

效率高,不需要地址转换

效率较低,需要进行地址转换

内存回收

使用完后立即回收

使用完后不立即回收,而是交给GC处理回收

赋值操作

创建一个新对象

创建一个引用

类型扩展

不易扩展,所有值类型都是密封(seal)的,所以无法派生出新的值类型

具有多态的特性方便扩展

实例分配

通常是在线程上分配的(静态分配),但是在某些情形下可以存储在堆中

总是在进程中分配(动态分配

 

原文链接:http://www.cnblogs.com/zengming/p/6037048.html

猜你喜欢

转载自www.cnblogs.com/yuanch2019/p/11592302.html