看下面程序:
   class Test{
   public static void main(String[] args) {
 int a=1;
 int b=a;
     b=2;
     System.out.println(b);
     System.out.println(a);
}
}
希望各位指点一下!
     画出a和b在内存中的分配图解,最好是分多个图来解析一下……

解决方案 »

  1.   

      在栈中 a内存永远是a内存 b内存永远是b内存,
     如果a,b是String类型 在堆中 首先a内存和b内存位于同一个区域,这是编译器优化的原因,而后b有重新创建了个对象保存2
      

  2.   

    a,b 都是在方法中定义的,非 final和 static对象, 那么他们的地址都是在运行时重新申请的。
    位置随机。