如何运用8种Java单例模式写法实现高效且安全的单例设计?

2026-04-19 17:111阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2274个文字,预计阅读时间需要10分钟。

如何运用8种Java单例模式写法实现高效且安全的单例设计?

示例:Singleton模式,是指仅被实例化一次的类。例如,单例模式+饿汉模式+public class SingletonHungry {+private final static SingletonHungry INSTANCE=new SingletonHungry();+private SingletonHungry() {+“+}+}+}

单例:Singleton,是指仅仅被实例化一次的类。

饿汉单例设计模式

一、饿汉设计模式

public class SingletonHungry { private final static SingletonHungry INSTANCE = new SingletonHungry(); private SingletonHungry() { } public static SingletonHungry getInstance() { return INSTANCE; } }

因为单例对象一开始就初始化了,不会出现线程安全的问题。

PS:因为我们只需要初始化1次,所以给INSTANCE加了final关键字,表明初始化1次后不再允许初始化。

懒汉单例设计模式

二、简单懒汉设计模式

由于饿汉模式一开始就初始化好了,但如果一直没有被使用到的话,是会浪费珍贵的内存资源的,所以引出了懒汉模式。

懒汉:首次使用时才会去实例化对象。

阅读全文

本文共计2274个文字,预计阅读时间需要10分钟。

如何运用8种Java单例模式写法实现高效且安全的单例设计?

示例:Singleton模式,是指仅被实例化一次的类。例如,单例模式+饿汉模式+public class SingletonHungry {+private final static SingletonHungry INSTANCE=new SingletonHungry();+private SingletonHungry() {+“+}+}+}

单例:Singleton,是指仅仅被实例化一次的类。

饿汉单例设计模式

一、饿汉设计模式

public class SingletonHungry { private final static SingletonHungry INSTANCE = new SingletonHungry(); private SingletonHungry() { } public static SingletonHungry getInstance() { return INSTANCE; } }

因为单例对象一开始就初始化了,不会出现线程安全的问题。

PS:因为我们只需要初始化1次,所以给INSTANCE加了final关键字,表明初始化1次后不再允许初始化。

懒汉单例设计模式

二、简单懒汉设计模式

由于饿汉模式一开始就初始化好了,但如果一直没有被使用到的话,是会浪费珍贵的内存资源的,所以引出了懒汉模式。

懒汉:首次使用时才会去实例化对象。

阅读全文