设计模式是前辈的一些经验总结之后的精髓,学习设计模式可以针对不同的问题给出更加优雅的解答
单例模式可分为俩种:懒汉模式和饿汉模式。俩种模式分别有不同的优势和缺点
懒汉模式
class Singleton{ private static Singleton instance = new Singleton(); private test(){ } public static test getInstance(){ return instance; }}
- 将构造函数私有化,不允许外界创建对象创建类的唯一实例提供一个用于获取实例的方法,使用Singlenton.getInstance();来创建
饿汉模式
class test{ private static test instance; private test(){ } public static test getInstance(){ if(instance != null){ return new test(); } return instance; }}
- 同样将构造函数私有化声明实例但不初始化在方法内部判断有没有创建,没有就new出来,有了就直接使用
总结:
饿汉模式在类加载时候自动创建实例,类加载慢,运行时获取对象快(线程安全)
懒汉模式在类加载时候没有加载实例,在创建的时候才会生成实例,类加载快,运行时候获取对象慢(线程不安全)
本文永久更新链接地址:http://www.xuebuyuan.com/Linux/2017-01/139033.htm
以上就上有关Java设计模式之单例模式(Singleton)的全部内容,学步园全面介绍编程技术、操作系统、数据库、web前端技术等内容。