1.  int temp[] = {1,2};
2.  int temp[] = new int[]{1,2};上面两种赋值方式,第二种应该是在堆中。第一种数据({1,2})是存储在栈中,还是堆中?

解决方案 »

  1.   

    想知道确切一些的答案,现在和同学讨论了有两个结论
    如果是在C语言中,1应该是在栈里了,但是在Java里面,就不是很确定
      

  2.   

    我怎么觉得第一种应该是在Data seg中呢!
      

  3.   

    java中都在java堆里,栈中不可能出现Java对象,而数组是Java对象java堆跟平常我们说的堆不是一个东西哦
      

  4.   

    这个问题不低级,对于我来讲还真没有想到这个问题,楼主研究的很透彻,值得我学习。我感觉数组跟String有点像 String s = "abc";和String s = new String("abc");应该数据部分都是在堆中吧,只不过前一种是JVM自动new出来一块空间,猜的呵呵
      

  5.   

    4L说的没错。java所有的对象都在堆上分配。