page contents

单例的写法感觉不知道对错

Pack 发布于 2020-01-16 16:30
阅读 456
收藏 0

写法一:


public class HungryTest1 {

    private HungryTest1(){}

    public static HungryTest1 getInstance(){

        return new HungryTest1();

    }

}

写法二:


public class HungryTest2 {

    private HungryTest2(){}

    private static final HungryTest2 hungryTest2 = new HungryTest2();

    public static HungryTest2 getInstance(){

        return hungryTest2;

    }

}

这两个应该都是饿汉式的单例写法吧?他们的区别是什么啊?想了好久没看明白

205
Pack
Pack

第一个 不是单例,每次都是new。 你应该缺少了一些代码。实例化是在调用方法的时候才进行,是懒汉式。
第二个 在jvm加载的时候就已经实例化了。


请先 登录 后评论