java中:
new className;语句分配的是对内存还是栈内存???
如何分配的?

解决方案 »

  1.   

    堆内存。
    得到className的类型信息以及父类的信息,计算出需要的大小,在堆中为对象分配空间,然后对得到的空间执行初始化(所有成员都是0),最后调用构造方法。
      

  2.   

    在java中,实例变量和数组是在堆中分配内存的。
      

  3.   

    堆内存!
    有这样一条规则:类声明的引用放在栈内存stack,new出来的对象则一定放在堆内存里heap,而静态变量static和常量字符串String存放在数据段data segment。