博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式学习笔记之单例模式(Java实现)
阅读量:6815 次
发布时间:2019-06-26

本文共 837 字,大约阅读时间需要 2 分钟。

hot3.png

一个普通的Java类实现的单例模式代码如下:

/** * 单例模式 * @author glogo * */public class Singleton {	private static volatile Singleton singleton = null;		//构造函数必须是private	private Singleton(){}		public static Singleton getInsSingleton(){		if(singleton == null){	//外层if的作用:一旦唯一的一个实例被创建之后无需再synchronized,提高效率。			synchronized(Singleton.class){				if(singleton == null)					singleton = new Singleton();			}		}		return singleton;	}	}

它是实现了双重检查的。

线程级别的单例模式:通过ThreadLocal<T>类型的静态成员变量 定义 仅在线程内部生效的全局对象。

public class SingletonThread{	private static final ThreadLocal
local = new ThreadLocal
(){ @Override protected SingletonThread initialValue() { return new SingletonThread(); } }; private SingletonThread(){} public static SingletonThread getISingleton(){ return local.get(); } }

转载于:https://my.oschina.net/zjh92119/blog/121688

你可能感兴趣的文章
cocos2dx-3.0rc0安装和创建新工程
查看>>
佛系程序员的月薪五万指南
查看>>
Visual Studio 2017 右键项目 清理(Clean)、生成(Build)和重新生成(Rebuild)
查看>>
区块链100讲:以太坊(Ethereum ETH)挖矿教程
查看>>
比特币前核心开发者Mike Hearn三年前的预测一一应验
查看>>
【2018.04.25学习笔记】【linux基础知识9.1-9.3】
查看>>
springcloud应用程序上下文层次结构
查看>>
为什么python突然变得这么火了?
查看>>
国外“小乔布斯”玩转Python、Java,12岁成立自己的公司!
查看>>
重磅发布!阿里云推PostgreSQL 10 高可用版
查看>>
ComponentOne 2019V1更新亮点之WinForm篇
查看>>
我的友情链接
查看>>
tomcat7配置
查看>>
JAVA 事务处理
查看>>
Python基础6-1 面向对象编程
查看>>
邮箱服务器DNS BLACKLIST过滤SMTP
查看>>
ActiveMQ学习笔记(3)——ActiveMQ的安装
查看>>
OSI(Open System Interconnection)网络7层模型
查看>>
Blat-windows cmd命令行脚本SMTP模式发邮件的开源工具参数详细说明
查看>>
25匹马取前5,每次只能比5匹
查看>>