栈中存放基本数据类型变量和对象句柄?
来源:1-5 JAVA内存模型
![](http://img1.sycdn.imooc.com/user/5458643d0001a93c02200220-100-100.jpg)
奥观海同志
2019-05-15
请问老师,对于:
int a;
int b =1;
String s ;
String s1 = “aaaa”;
我可以理解为栈中存放的是a, b ,s , s1这几个变量吗?
句柄可以理解为引用变量吗?
写回答
1回答
-
你好,a、b不适合理解成句柄,因为他们是基础数据类型,实际进行内存分配和对象是不一样的,从你的问题里我感觉你可能会一些jvm知识,应该能明白基础数据类型和对象在实际内存分配时的差异,如果你不确定,可以再补充一下jvm里这块的知识。
接下来具体说句柄,在java中我们在实例化完对象后,在对其进行操作时,用来去操作对象的就叫做句柄,有的人就把他里理解为“引用”,也有人理解为c语言里的“指针”。012019-05-16
相似问题
栈中数据是共享的?
回答 1
关于jmm中成员变量在内存中的位置的问题
回答 2
Guava本地缓存实际使用上碰到的疑问
回答 1
无状态对象和有状态对象
回答 1
对象在堆上面,方法为什么在栈上面呢?
回答 1