java堆栈理解,一个对象(两个属性,四个方法)实例化100次,问内存中的存储状态,
这是一道有关JAVA堆栈的面试题,我在网上没有找到答案,请高手详细解答一下,谢谢!那这道题答案是不是在堆里有100个这个对象,而且对象的属性和方法都在堆里...
这是一道有关JAVA堆栈的面试题,我在网上没有找到答案,请高手详细解答一下,谢谢!
那这道题答案是不是在堆里有100个这个对象,而且对象的属性和方法都在堆里 展开
那这道题答案是不是在堆里有100个这个对象,而且对象的属性和方法都在堆里 展开
3个回答
展开全部
楼上的朋友是不是打错了,
//person per = null; 这是在"栈"中开辟一个空间
//per= new Peosn; 这是在栈中开辟一个空间,
栈放变量和引用
堆放对象
另外 代码段放方法等我们写的代码
数据段放常量和静态的数据
//person per = null; 这是在"栈"中开辟一个空间
//per= new Peosn; 这是在栈中开辟一个空间,
栈放变量和引用
堆放对象
另外 代码段放方法等我们写的代码
数据段放常量和静态的数据
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class Person
{
private String name ;
private int age ;
public void setName(String name)
{
this.name = name ;
}
public String getName()
{
return this.name ;
}
};
public class De
{
public static void main(String args[])
{
Person per = new Person() ;
per.setName("张三") ;
System.out.println(per.getName()) ;
}
};
Person per = new Person();
//person per = null; 这是在堆中开辟一个空间
//per= new Peosn; 这是在栈中开辟一个空间,
{
private String name ;
private int age ;
public void setName(String name)
{
this.name = name ;
}
public String getName()
{
return this.name ;
}
};
public class De
{
public static void main(String args[])
{
Person per = new Person() ;
per.setName("张三") ;
System.out.println(per.getName()) ;
}
};
Person per = new Person();
//person per = null; 这是在堆中开辟一个空间
//per= new Peosn; 这是在栈中开辟一个空间,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-05-04
展开全部
还要分是否被static修饰,如果属性被static修饰的话,无论实例化多少次,内存中只会有两个属性,方法的话不管有没有被static修饰,在内存中都是400个,属性没被static修饰的话那么内存中会有200个;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询