又一菜鸟问题
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位数等等)