关于jvm,加载的准备阶段一个考点

class Singleton{
public static Singleton t = new Singleton();
public static int count1;
public static int count2 = 0;
private Singleton(){
count1++;
count2++;
}
public static Singleton getInstance(){
return t;
}
}
public class Test6 {
public static void main(String[] args){
Singleton t7 = Singleton.getInstance();
System.out.println(Singleton.count1);
System.out.println(Singleton.count2);
}
}

结果:

1

0

Singleton t7 = Singleton.getInstance():调用类的静态方法,进行类的初始化。在准备阶段,对类变量进行“零值”初始化,t=null、count1=0、count2=0。在初始化阶段,new Singleton()直接调用构造方法,count1=1、count2=1。调用构造方法之后,继续初始化t变量之后的字段。count1=1、count2=0。

System.out.println(Singleton.count1):输出:1

System.out.println(Singleton.count2):输出:0



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值