常见的单例模式有哪几种?
饿汉式 不支持懒加载 线程安全 加载类时比较慢、运行时获取对象速度快
懒汉式 支持懒加载 线程不安全 加载类时比较快、运行时获取对象速度慢
同步懒汉式 Synchronized Lazy 主要解决懒汉式的线程不安全 效率太低
双重锁懒汉式 推荐使用 线程安全 支持懒加载 效率高
静态内部类懒汉式 推荐使用 解决饿汉式不支持懒加载 线程安全 支持懒加载 效率高
枚举类单例设计模式 enumeration 推荐使用
饿汉式 不支持懒加载 线程安全 加载类时比较慢、运行时获取对象速度快
懒汉式 支持懒加载 线程不安全 加载类时比较快、运行时获取对象速度慢
同步懒汉式 Synchronized Lazy 主要解决懒汉式的线程不安全 效率太低
双重锁懒汉式 推荐使用 线程安全 支持懒加载 效率高
静态内部类懒汉式 推荐使用 解决饿汉式不支持懒加载 线程安全 支持懒加载 效率高
枚举类单例设计模式 enumeration 推荐使用
2019-02-14
还可以用枚举类实现单例模式:
enum Singleton{
INSTANCE;
public void method(){
System.out.println("something");
}
}
enum Singleton{
INSTANCE;
public void method(){
System.out.println("something");
}
}
2018-09-23
老师讲的还可以,设计模式这种思想,不是刚开始学java就能弄的很清楚,必须经过写代码的阅读和实操,结合起来,再回来看老师讲的,你就会发现你成长了,也听懂了
2018-07-07