设计模式-----单例模式

设计模式-----模板方法模式

设计模式-----适配器模式

设计模式-----建造者模式

单例模式:
主要作用是保证在Java应用程序中,一个类Class只有一个实例存在。
单例模式能够保证一个类仅有唯一的实例,并提供一个全局访问点。
主要有以下特点:
1、确保自己只有一个实例。
2、必须自己创建自己的实例。
3、必须为其他对象提供唯一的实例。

懒汉式和饿汉式的区别:
1、恶汉模式的特点是加载类时会比较慢,但运行时获取对象的速度比较快。
2、懒汉模式的特点时加载类时会比较快,但运行时获取对象的速度相对慢。
3、恶汉模式时线程安全的,懒汉模式线程不安全。可以再方法中快使用关键字synchronized解决。
懒汉式:懒得创建,用的时候再创建

public class Singleton {
    //私有实例,只能内部调用
    private static Singleton instance=null;
    //私有构造方法,防止外部创建实例  必须
    private Singleton(){
    }
    /**
     * 提供一个静态方法,供外部访问 返回当前实例
     *
     * 懒汉模式是线程不安全的,通过synchronized关键字解决
     * 该关键字作用为当多个线程同时访问该方法的时候,必须等一个线程访问完,
     * 才能进行访问,这就预防了多个线程同时访问而创建多个实例。
     */
    public static synchronized Singleton getInstance(){
        if(instance==null){
            instance=new Singleton();
        }
        return instance;
    }

}

恶汉式:管你用不用,先搞一个再说

public class Singleto2 {
    //私有构造方法,防止外部创建实例  必须
    private Singleto2(){
    }
    //在自己内部定义自己的一个实例,只供内部调用
    //final修饰,确保了该实例   不允许修改。
    private static final Singleto2 instance = new Singleto2();

    //提供了供外部访问的静态方法,可以直接访问
    public static Singleto2 getInstance(){
        return instance;
    }
}

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值