JAVA虚拟机实例学习笔记二(3)

分类: J2SE   出处:iocblog整理  更新时间:2008-11-06   添加到收藏  

  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]

上一页 [1] [2] [3]


Tag: JAVA虚拟机



文章整理:iocblog
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。