单例模式中的懒汉模式及饿汉模式

定义:单例模式(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