首页 > 代码库 > 设计模式--单例模式(学习笔记)
设计模式--单例模式(学习笔记)
定义:
单例模式:保证一个类只有一个实例,并且提供一个访问它的全局访问点。(《大话设计模式定义》);
单例模式分为两种:
1>饿汉式单例类:自己被加载时就将自己实例化。
例子:
private SingleExample() { }private static SingleExample singleExample=new SingleExample(); @Override protected SingleExample getInstances() { return singleExample; }
2>懒汉式单例类:在第一次被引用时,才将自己实例化。
例子:
private SingleExample() { } private static SingleExample singleExample = null; protected static SingleExample getInstances() { if (singleExample == null) { synchronized (SingleExample.class) { if (singleExample == null) { singleExample = new SingleExample(); } } } return singleExample; }
加同步块synchronized 是为了确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如果其他线程试图进入锁定的代码区块,则它将一直处于等待状态,知道该对象被释放。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。