单例模式

单例模式

单例模式是23种常见的设计模式之一。

单例模式就是保证整个项目中某个类创建的对象只有一个。

单例模式实现模式常见的有 饿汉式 懒汉式

饿汉式

饿汉式,只要第一次使用到类,就会产生一个对象,降低加载效率,线程安全的

饿汉式单例模式 static修饰的变量是静态变量,在类首次加载时加载,类只加载一次 不希望外面可以直接拿到,而且在拿到对象之前可能需要一些初始化工作

public class TaskManager {
    private static TaskManager taskManager = new TaskManager();

    //不允许类外创建,否则就会出现多个对象
    private TaskManager() {
        System.out.println("执行无参构造");
    }

    //获取实例对象
    public static TaskManager getInstance() {
        return taskManager;
    }

    public static void method() {
        System.out.println("This is a static method from TaskManager");
    }
}

饿汉模式(lazy load

public class PoolManager {

    //懒汉式
    //私有构造方法

    private PoolManager() {

    }

    private static PoolManager poolManager;

    //提供一个方法,当方法做完一些操作之后在返回
    //明确要使用对象时,再返回对象
    public static PoolManager getInstance() {

        if (poolManager == null) {
            poolManager = new PoolManager();
        }
        return poolManager;
    }

}

总体来说

饿汉模式 线程安全但会降低加载效率。

懒汉模式 线程不安全但节省加载时间。

枚举类也是单例模式

public enum Season {  
    SUMMER;
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇