变量内存

变量引用的是栈内存的地址,对象的实际值是通过栈内存中存储的堆内存地址从堆内存中获得的。。。
   堆内存是存放对象的地方,栈内存则指向堆内存,因为栈内存的查找时间比堆内存快很多(它只存储堆内存的地址),因此变量指向的是栈内存,获取对象实际的值时,java通过栈内存获得对内存的值

所以
    栈内存存储的是堆内存中的实际值的地址
   所以打印的是 栈内存中的地址

        j ava数据(包括原始类型(primitive type)和对象(ojbect))在内存中的存储这个角度,用一个自创的“术语”来阐述我对这个问题的理解。这个术语就是:“堆栈区数据复制(Stack Data Copy,简称SDC)”。详细一点就是:在Java中,不管是赋值操作还是参数传递操作--针对原始类型(primitive type),是对堆栈区的原始类型的值进行复制;针对对象,是对储存在堆栈区的,对象的引用中所储存的对象的值的地址进行复制。

 

 

待续。。。。。。。。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值