基本数据类型与引用类型在存储上的区别
基本数据类型和引用数据类型在存储上的区别
基本数据类型有哪些
类型名称 | 关键字 | 占用内存 | 取值范围 |
---|---|---|---|
字节型 | byte | 1 字节 | -128~127 |
短整型 | short | 2 字节 | -32768~32767 |
整型 | int | 4 字节 | -2147483648~2147483647 |
长整型 | long | 8 字节 | -9223372036854775808L~9223372036854775807L |
单精度浮点型 | float | 4 字节 | +/-3.4E+38F(6~7 个有效位) |
双精度浮点型 | double | 8 字节 | +/-1.8E+308 (15 个有效位) |
字符型 | char | 2 字节 | ISO 单一字符集 |
布尔型 | boolean | 1 字节 | true 或 false |
引用数据类型有哪些
可以说,除了上面八种数据类型之外基本都是引用数据类型,包括String,自定义类等
存储结构的区别
基本数据类型的变量空间存储在栈当中,并且栈是直接存储着变量的值(空间大小固定)
引用数据变量的变量空间也存储在栈当中,但是栈当中存储的是引用地址,地址指向在堆中开辟的可变空间
可以说,
基本数据变量和引用数据变量的左边声明部分都是存储在栈当中,只不过一个存储的是值,一个存储的是地址。而引用数据类型的右边部分即new的部分是在堆当中。
热门相关:斗神战帝 修仙界最后的单纯 法医娇宠,扑倒傲娇王爷 最强反套路系统 朕是红颜祸水