日期:2014-05-20  浏览次数:20707 次

又一菜鸟问题
Java code

public class One {

    public static void main(String[] args)
    {
         Animal an=new Animal();
         
    }
}
class Animal
{
    int age;
    String name;
}




an 和 new Animal() 各自存放的位置和所占大小。

------解决方案--------------------
public class One {

public static void main(String[] args)
{
Animal an=new Animal(); // 四个字节

}
}
class Animal
{
int age; // 四个字节
String name; // 四个字节, 因为Java里全是引用
}

------解决方案--------------------
一个存放于堆,一个存放于栈
------解决方案--------------------
an在栈内存,new Animal在堆内存
------解决方案--------------------
an在栈内存,new Animal在堆内存,占用内存大小无法确定,随不同的jvm实现而不同(对象表现形式、jvm位数等等)