定义:单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
主要解决:一个全局使用的类频繁地创建与销毁。
何时使用:当您想控制实例数目,节省系统资源的时候。
关键代码:构造函数是私有的。
优点: 1. 在内存里只有一个实例,减少了内存的开销
2. 避免对资源的多重占用(比如写文件操作)
饿汉模式:加载类时慢,运行时获取对象快,线程安全;
public class Demo {
private static Demo demo = new Demo ();
//饿汉模式,类初始化时直接创建
public Demo getInstance() {
return demo
}
}
懒汉模式:加载类时快,运行时获取对象慢,线程不安全;
public class Demo {
private Demo demo
public synchronized Demo getInstance() {
//懒汉模式,需要的时候再创建
if(demo == null) {
demo= new Demo();
}
return demo;
}
}
原文:https://www.cnblogs.com/BruceV/p/11888462.html