当前位置: 首页> 文旅> 旅游 > 单例模式之饿汉式

单例模式之饿汉式

时间:2025/7/12 6:45:38来源:https://blog.csdn.net/m0_64372868/article/details/140229884 浏览次数:0次

文章目录

  • 单例模式(饿汉式)
    • 代码
      • 静态变量创建实例代码
      • 静态代码块创建实例

单例模式(饿汉式)

单例模式是一种创建性的设计模式,主要是保证一个类只能有一个实例。全局中保证一个实例的使用。

单例模式饿汉式主要的构成是如下

  • 单例类
  • 私有化构造函数(防止实例化)
  • 私有化变量
  • 公共静态获得实例的方法(在调用这个方法前就已经实例化好了)

代码

静态变量创建实例代码

package singleton;/**** @author: Hui**/
public class SingletonTest {public static void main(String[] args) {Singleton singleton = Singleton.getInstance();Singleton singleton1 = Singleton.getInstance();System.out.println(singleton == singleton1);System.out.println(singleton.hashCode());System.out.println(singleton1.hashCode());}}class Singleton{//1.私有化构造方法private Singleton(){}//2.创建一个静态对象private static Singleton instance = new Singleton();//3.创建一个静态返回实例方法public static Singleton getInstance(){return instance;}
}

静态代码块创建实例

package singleton.type2;/*** @author: Hui**/
public class SingletonTest2 {public static void main(String[] args) {Singleton singleton = Singleton.getInstance();Singleton singleton1 = Singleton.getInstance();System.out.println(singleton == singleton1);System.out.println(singleton.hashCode());System.out.println(singleton1.hashCode());}}class Singleton {//1.私有化构造方法private Singleton() {}//2.创建一个静态对象private static Singleton instance;static {instance = new Singleton();}//3.创建一个静态返回实例方法public static Singleton getInstance() {return instance;}
}

优点:提前实例化,不存在线程并发等问题。

缺点:不符合懒加载情况,在不使用该实例的时候会造成内存浪费。

关键字:单例模式之饿汉式

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: