单例模式中的懒汉模式及饿汉模式
定义:单例模式(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