• Java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。

  • 单例模式有两种实现方式:一种是将类的构造方法私有化,用一个私有的类变量instance保存类的实例,在加载类时,创建类的实例,并将实例赋给instance;再提供一个公有的静态方法getInstance,用于获取类的惟一实例,该方法直接返回instance。另一种是将类的构造方法私有化,用一个私有的类变量instance保存类的实例,在加载类时,将null赋给instance;再提供一个公有的静态方法getInstance,用于获取类的惟一实例,该方法首先判断instance是否为null,如果为null,则创建实例对象,否则,直接返回instance。

        两种方式的区别在于:前者被加载时,类的惟一实例被创建;后者在第一个调用getInstance()方法时,类的惟一实例被创建,但需要在getInstance()方法的声明中使用synchronized关键字,保证某一时刻只有一个线程调用此方法。

资料加载中...
已关注 , 取消