单例模式之内部静态类
2015-09-09 12:39
288 查看
利用内部静态类实现单例模式:
public class Singleton
{
private Singleton()
{
[align=left] }[/align]
[align=left] public final static Singleton getInstance() {[/align]
[align=left] return Nested. instance;[/align]
[align=left] }[/align]
[align=left] // 在第一次被引用时被加载[/align]
[align=left] private static class Nested {[/align]
[align=left] private final static Singleton instance = new Singleton();[/align]
[align=left] }[/align]
public static void main(String
args[]) {
[align=left] Singleton instance = Singleton. getInstance();[/align]
[align=left] Singleton instance2 = Singleton. getInstance();[/align]
System. out.println(instance
== instance2);
[align=left] }[/align]
[align=left] }[/align]
总结:
由于内部静态类只会被加载一次,故该实现方式时线程安全的!
public class Singleton
{
private Singleton()
{
[align=left] }[/align]
[align=left] public final static Singleton getInstance() {[/align]
[align=left] return Nested. instance;[/align]
[align=left] }[/align]
[align=left] // 在第一次被引用时被加载[/align]
[align=left] private static class Nested {[/align]
[align=left] private final static Singleton instance = new Singleton();[/align]
[align=left] }[/align]
public static void main(String
args[]) {
[align=left] Singleton instance = Singleton. getInstance();[/align]
[align=left] Singleton instance2 = Singleton. getInstance();[/align]
System. out.println(instance
== instance2);
[align=left] }[/align]
[align=left] }[/align]
总结:
由于内部静态类只会被加载一次,故该实现方式时线程安全的!
相关文章推荐
- 【剑指offer】面试题7:用两个栈实现队列
- 1096. Consecutive Factors (20)
- 在CentOS上安装部署MooseFS分布式文件系统
- POJ1222 EXTENDED LIGHTS OUT【高斯消元】
- linux下查看网关的命令
- Android中AndroidManifest.xml uses-sdk警告
- 解决Win10 Windows10关键错误 开始菜单和Cortana无法工作问题
- ipvsadm 安装配置
- 【剑指offer】面试题6:重建二叉树
- Second Level Cache for Entity Framework 6.1
- sql事务和锁
- POJ 1724 ROADS(费用最短路:优先队列+BFS)
- 安装RPM套件rpm-build错误解决:NOKEY、elfutils is needed
- 1095. Cars on Campus (30)
- centos 6.6升级自带mysql版本文档
- 使用Charles对手机app网络包进行分析
- hdu 3709 Balanced Number 2010成都区域赛 数位dp
- 整数中1出现的次数(从1到n整数中1出现的次数)(算法)
- 【剑指offer】面试题5:从尾到头打印链表
- BZOJ 2241: [SDOI2011]打地鼠 暴力