java基础之单例设计模式[18]

java基础之单例设计模式[18]




一、什么是单例设计模式?

单例设计模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点.

设计思想:

1.构造方法私有化.
2.声明一个静态的本类对象. 3:给外部提供一个静态方法获取对象的实例.

在项目中什么时候要用单例设计模式,有什么好处?
1.在设计工具类的时候(通常工具类只有方法,没有属性);
2.工具类可能被频繁调用时.避免内存消耗;
除了单例设计模式.还可以使用构造方法私有化+静态方法,来实现工具类,比如Math.

二、单例设计模式之饿汉式

 class Singleton1{
//饿汉式:占用内存的时间长,提高效率.在类被加载后,对象被创建,到程序结束后释放.
    private Singleton1(){};
    private static Singleton1 s=new Singleton1();
    public static Singleton1 getInstance(){
        return s;
    }
    public void demo1(){
        System.out.println("饿汉式测试方法");
    }
}

三.单例设计模式之懒汉式

 class Singleton2{
  //懒汉式:占用内存时间短,效率低(懒加载,延迟加载);在第一次调用getInstance()方法时,对象被创建,到程序结束后释放.
    //在多线程时不安全.
    private Singleton2(){};
    private static Singleton2 s2;
    public static Singleton2 getInstance(){
        if (s2==null){
            s2=new Singleton2();
        }
        return s2;
    }
    public void demo2(){
        System.out.println("懒汉式测试方法");
    }
}

四.创建单例设计模式对象

 Singleton1 s=Singleton1.getInstance();
  s.demo1();
  Singleton2 s2=Singleton2.getInstance();
  s2.demo2();

五.小结

本章概述了java中的一种设计模式:单例设计模式, 目的是为了节省重复创建对象所带来的内存消耗,从而提高效率.单例模式只创建一块对象内存,可重复使用,内存地址都相等.
有哪里不足或者有更好的建议,欢迎留言吐槽,有哪里不懂的小伙伴,可以私信我,我会一一答复,感谢认可,感谢支持!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

道而起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值