首页 > 代码库 > java设计模式之单例模式
java设计模式之单例模式
定义:如果一个类始终只能创建一个实例,那么这个类被称为单例类,这种设计模式被称为单例模式。
Spring框架里面可以将所有生成的bean对象都设置为单例模式,只需要在配置Bean实例时指定scope=“singleton”即可,或者不做配置默认即为单例模式。
我们可以创建一个小的Demo来演示单例模式的实现,只需要保证该类只能创建一个实例,我们可以用权限修饰符private修饰该类的构造器。
提供一个创建该类的接口,该接口只能用static修饰,类里面创建一个成员变量来保存生成的实例。
代码如下:
package test; class Anmail{ } class singlelonDemo { private static singlelonDemo sd; private singlelonDemo(){ } public static singlelonDemo single(){ if(sd == null){ sd = new singlelonDemo(); } return sd; } } public class singleDemo{ public static void main(String[] args){ singlelonDemo sd1 = singlelonDemo.single(); singlelonDemo sd2 = singlelonDemo.single(); System.out.println(sd1==sd2); } }
输出结果为true,表示生成的是一个实例。
单例模式是一种应用很广泛的设计模式,许多框架都有应用,下面要讲到的工厂模式里的工厂也只需要单个实例。
使用单例模式的两个优点:
1、减少创建java实例所带来的系统开销。
2、便于系统跟踪单个java实例的生命周期、实例状态等。
java设计模式之单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。