值类型和引用类型在内存上的存储区域
2018-07-30 17:28
267 查看
程序员开发经常涉及到的内存区域:堆、栈、静态存储区域。
值类型和引用类型的区别:
- 值类型和引用类型在内存上存储的地方不一样。值类型的值是存储在内存的栈当中。引用类型的值是存储在内存的堆中。
- 在传递值类型和传递引用类型的时候,传递方式不一样。值类型我们称之为值传递,引用类型我们称之为引用传递。
本章节,暂时只介绍第1个区别:值类型和引用类型在内存上的存储区域。
常用值类型:int、double、bool、char、decimal、struct、enum
常用引用类型:string、自定义类、数组
1.值类型存储图解:
2.引用类型-字符串存储图解:
3.引用类型-自定义类存储图解:
引用类型存储总结:
引用类型的对象存储在堆中,并且会分配一个内存地址。该内存地址会存储到栈空间,栈空间名为变量名。
即读取引用类型对象的顺序:变量—>内存地址—>实例对象。
相关文章推荐
- C# 数据类型的引用类型、值类型内存存储方式以及区别; 函数参数传递的引用传递(址传递)、值传递区别
- 引用类型数据在内存中的存储过程
- 数组存储引用数据类型内存分析图
- 内存区域类型:寄存器 栈 堆 常量池 非RAM存储
- 第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
- 值类型和引用类型在内存上存储的不同
- 第三章 JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
- 值类型和引用类型在内存中的存储(堆和栈)
- 第一部分 数据内存存储、常预定义值类型、用户自定义值类型、预定义引用类型
- 值类型与引用类型及在内存中的存储
- java中的基本数据类型和引用数据类型以及它们的存储方式堆内存和栈内存
- 关于java基础类型与引用类型内存存储问题,以及string.intern()方法(String两种创建方式的区别)
- Linux下C/C++程序内存布局 各种类型数据存储区域及生长方向
- JVM内存回收区域+对象存活的判断+引用类型+垃圾回收线程
- C语言:自己动手查看float以及double类型的变量2.5在内存中的存储方式。
- Java基本数据类型在内存中的存储大小实践
- 对象在内存中是如何存储的(内存五大区域和类加载)
- 内存存储区域的讨论
- 关于int类型数据在内存中的高低位存储问题
- float类型数据在内存中如何存储的?