特点:
一、从概念方面来说基本数据类型:变量名指向具体的数值引用数据类型:变量名指向存数据对象的内存地址,即变量名指向hash值
二、从内存构建方面来说基本数据类型:变量在声明之后java就会立刻分配给他内存空间引用数据类型:它以特殊的方式(类似C指针)指向对象实体(具体的值),这类变量声明时不会分配内存,只是存储了一个内存地址。
三、从使用方面来说基本数据类型:使用时需要赋具体值,判断时使用“==”号引用数据类型:使用时可以赋null,判断时使用equals方法
两种数据类型的对于栈和堆的解读
1:基本数据类型的存储原理:
所有的简单数据类型不存在“引用”的概念,基本数据类型都是直接存储在内存中的内存栈上的,数据本身的值就是存储在栈空间里面,而Java语言里面八种数据类型是这种存储模型;
2:引用类型的存储原理:
引用类型继承于Object类(也是引用类型)都是按照Java里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储,简单地讲,“引用”是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的;
区别:基本数据类型和引用类型的区别主要在于基本数据类型是分配在栈上的,而引用类型是分配在堆上的(需要java中的栈、堆概念),基本类型和引用类型的内存模型本质上是不一样的。
版权声明:本文为qq_52854229原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。