Singleton:在java中即指单例设计模式,某个类在整个系统中只能有一个实例对象可被获取和使用的代码模式。jvm中的runtime类。
1,只能有一个实例(构造器私有化)
2,必须自行创建这个实例。(含有一个该类的静态变量来保存这个唯一的实例)
3,必须自行向整个系统提供这个实例(对外提供获取该实例对象的方式1直接暴露2用静态边量的get方法获取)
常见形式:
饿汉式: 类实例化直接创建对象,不存在线程安全问题
1直接实例化饿汉式简洁直观
**2枚举式最简洁**
3静态代码块饿汉式,适合复杂实例化
懒汉式:延迟创建对象
线程不安全(适用于单线程)
线程安全适用于多线程
**静态内部类形式 适用于多线程**