如何能证明饿汉式是在类加载的时候就执行了?

如何能证明饿汉式是在类加载的时候就执行了?

/**

 * 描述:     饿汉式(静态常量)(可用)

 */

public class Singleton1 {

    private Singleton1() {

        System.out.println("init Singleton1");

    }


    private final static Singleton1 INSTANCE = new Singleton1();


    public static Singleton1 getInstance() {

        return INSTANCE;

    }

}



以上是老师的单例模式代码,想问一下,如何能证明饿汉式是在类加载的时候就执行了?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小小 2021-12-02 11:20:09

同学你好,静态成员会随着类的加载而加载,所以静态成员变量

“private final static Singleton1 INSTANCE = new Singleton1();”

会在类加载时就被执行。

祝学习愉快~

  • 提问者 飞机场场长 #1
    老师你好,你这个仅是结论,能有什么证明方式吗?
    2021-12-02 11:23:13
  • 好帮手慕小小 回复 提问者 飞机场场长 #2

    同学你好,可以使用类名.静态成员的方式证明。若成员是随着类加载进内存,则可以直接使用类名.静态成员的方式访问,而没有随着类加载进内存,则无法使用类名调用访问。

    祝学习愉快~

    2021-12-02 13:18:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师