Java 基本类型、引用类型在内存中的存储原理

版权声明:本文为博主原创文章,同步今日头条号:Java云笔记。转载请附上博文链接: https://blog.csdn.net/weixin_44259720/article/details/88237622

首先说一句,不论是基本数据类型还是引用类型,他们都会先在栈中分配一块内存:

  • 对于基本类型来说,栈区域包含的是基本类型的内容,也就是值;
  • 对于引用类型来说,栈区域包含的是指向真正内容的指针,真正的内容被分配在了堆中。

存储原理

基本数据类型不存在“引用”的概念,他们直接存储在内存中的内存栈上的,数据本身的值也是存储在栈空间里面;

引用类型继承于 Object 类,Object 类都是按照 Java 里面存储对象的内存模型来进行数据存储的,使用Java内存堆和内存栈来进行这种类型的数据存储。简单地讲,“引用”(存储对象在内存堆上的地址)是存储在有序的内存栈上的,而对象本身的值存储在内存堆上的;

当声明是基本类型的变量的时,其变量名及值(变量名及值是两个概念)都是放在方法栈中;

当声明的是引用变量时,所声明的变量的“引用”(存储对象在内存堆上的地址)是存储在有序的内存栈上的,而“引用”指向的对象本身的值存储在内存堆上。

更多精彩,请关注我的"今日头条号":Java云笔记
随时随地,让你拥有最新,最便捷的掌上云服务

猜你喜欢

转载自blog.csdn.net/weixin_44259720/article/details/88237622