读书人

又一初学者有关问题

发布时间: 2012-03-15 11:50:38 作者: rapoo

又一菜鸟问题

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位数等等)

读书人网 >Java相关

热点推荐