黑马程序员技术交流社区
标题:
内存存储的问题!
[打印本页]
作者:
鲸鱼先生.
时间:
2014-10-20 18:45
标题:
内存存储的问题!
本帖最后由 鲸鱼先生. 于 2014-10-20 21:02 编辑
String str = "Hello";
int i = 0;
复制代码
这两个变量在内存中的存储位置有什么不同吗?
作者:
鲸鱼先生.
时间:
2014-10-20 20:15
是int i = 0;String都储存在栈区,而String有个地址指向储存在堆区的“Hello”吗?
作者:
PinkDay
时间:
2014-10-20 20:38
声明的变量是存在栈区。
但是String是属于引用类型的,它声明的变量是存在堆区的,但是,变量里面存的不是值!是引用,也就是JVM(Java虚拟机)开辟的内存地址,并且这个地址里的值是不能被改变的!
你记住除了8个基本类型,再的都是引用类型~
基础类型:int,double,float,long,short,byte,char,boolean。这8个,他们的声明的变量以及存的值都在栈区里~
希望能帮助到你~
作者:
wf111sxwf
时间:
2014-10-20 22:41
这个str 储存在字符串常量池中,int i的位置就要看它是成员变量还是局部变量了,成员的话就在堆中,局部的话在栈中
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2