JAVA虚拟机实例学习笔记二(3)
18.堆
堆存放类的实例和数组(包括实例变量,指向对应方法区中类数据的引用)。
19.一个例子
class test{
public static void main(string args[])
{
string a=new string("hello");
string b=new string("hello");
string c="hello";
string d="hello";
}
}
则a==b返回false,c==d返回ture。
因为:==比较双方是否是同一个对象。
首先:
string a=new string("hello")[来源 www.iocblog.net]
string b=new string("hello")
a和b分别各自新建了hello的对象和引用变量,即在堆中有两个hello,他们各自的引用是a和b。
而:
string c="hello"
string d="hello"
先建立一个字符串类实例hello,再建立两个字符串引用变量c和d,然后让c和d都指向开始建立的hello实例。因此c和d指向的是同一个对象。[来源 www.iocblog.net]
Tag: JAVA虚拟机
文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。