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

倖福魔咒の 提交于 2019-12-04 23:31:44

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!