justep
0 精华1 帖子
justep(ID:justep)
- 粉丝:0
- 关注:0
- Z金豆:0
- 城市:北京
- 注册时间:2012-07-22
- 最后登录:2013-07-05
当前经验41分,升级还需239分
下一等级:Lv.2如何升级?
-
Z金豆:
0
- 城 市:北京
- 注 册:2012-07-22
- 登 录:2013-07-05
|
发表于 2012-07-25 22:50:32
楼主
|
最近看了一下java虚拟机,有些地方不太懂,请教一下
- Java code
public class AS {
String a="a";
String b="b";
String c;
public AS(){}
public void SetC(String c){
this.c=c;
}
}
1.变量a和b的值是在AS.class被加载的时候存放到了constant_string_info表里了吗? 2.比如在main方法里new了一个AS
as=new AS(); String e="qwe"; as.setC(e);
方法区里面是每一个类都有一个常量池吗,java开发平台上每个常量池都有一个constant_string_info表?如果是的话,那么e="qwe"是在哪个常量池检索是否存在“qwe”,是main所在类的常量池吗?
new
AS后产生了一个AS对象实例放在了堆中。那么堆中的对象实例都包括哪些内容,是仅仅包括实例的描述,还是包括实例的特有的数据(如果包括,那是值,还是值的引用)?具体的,例如as中c,其值为“qwe”,那么在这个heap中的实例数据包括这个c的值吗,还是指向某个常量池中“qwe”的引用?
|