设计模式是在大量的实践中总结和理论化之后优选的代码结构、编程风格、以及解决问题的思考方式。设计模式就像是经典的棋谱,不同的棋局,我们用不同的棋谱,免去我们自己再思考和摸索
一,单例模式:只能存在一个对象
-
概念:类的单例设计模式,是Java中最简单的设计模式之一,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法,即提供了一种创建对象的最佳方式。
-
**作用:**由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方式来解决。
-
饿汉式:使用类即创建对象
- 私有化类的构造器
- 内部创建类的对象
- 提供公共方法,返回类的对象
public class SingletonEH {
private static SingletonEH instance = new SingletonEH();
private SingletonEH (){}
public static SingletonEH getInstance() {
return instance;
}
}
特点:对象加载时间过长,但线程是安全的
-
懒汉式:需要时才创建对象
- 私有化类的构造器
- 声明当前类对象,没有初始化
- 声明public、static的返回当前类对象的方法
public class SingletonLH { private static SingletonLH instance; private SingletonLH (){} public static SingletonLH getInstance() { if (instance == null) { instance = new SingletonLH(); } return instance; } }
特点:延迟对象的创建,目前写法线程是不安全的