博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 单例模式 几个实现方法
阅读量:4484 次
发布时间:2019-06-08

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

1、饿汉模块

package com.zhaochao.singleton;/** * 饿汉模式 * @author Administrator */public class SingletonManager {	//静态成员变量,类加载时创建实例 	private static SingletonManager instance=new SingletonManager();	//私有化构造函数,防止创建对象	private SingletonManager() {}	//对外提供获取唯一对象方法	public static SingletonManager getInstance(){		return instance;	}}

2.懒汉模块

package com.zhaochao.singleton;/** * 懒汉模式 * @author Administrator * */public class SingletionManager2 {	//静态化成员变量,不创建对象	private static SingletionManager2 instance;	//私有化构造函数	private SingletionManager2() {}	//在使用时创建对象	public static SingletionManager2 getInstance(){		//线程不安全,当多个线程同时检测到对象都为null时,都会去创建对象,这样就不是单例了		if(instance==null){			instance=new SingletionManager2();		}		return instance;	}}

3.内部类模式

package com.zhaochao.singleton;/** * 升级版饿汉模式 * @author Administrator */public class SingletonManager3 {		private SingletonManager3(){}	    private static class SingletonManagerHolder {        private final static SingletonManager3 INSTANCE = new SingletonManager3();    }        public static SingletonManager3 getInstance() {        return SingletonManagerHolder.INSTANCE;    }}

转载于:https://www.cnblogs.com/whzhaochao/p/5023406.html

你可能感兴趣的文章
洛谷 P1169 [ZJOI2007]棋盘制作
查看>>
Noip 模拟练习7
查看>>
AcWing 走廊泼水节
查看>>
AcWing 最大子序和
查看>>
洛谷 P3391 【模板】文艺平衡树(Splay)
查看>>
AcWing 编辑器
查看>>
AcWing 火车进栈
查看>>
AcWing 道路与航线
查看>>
AcWing 国王游戏
查看>>
AcWing 蚯蚓
查看>>
AcWing 雪花雪花雪花
查看>>
AcWing 兔子与兔子
查看>>
洛谷 P3871 [TJOI2010]中位数
查看>>
洛谷 P2073 送花
查看>>
洛谷 P1801 黑匣子_NOI导刊2010提高(06)
查看>>
洛谷 P1503 鬼子进村
查看>>
洛谷 P2202 [USACO13JAN]方块重叠Square Overlap
查看>>
AcWing 邻值查找
查看>>
洛谷 P1533 可怜的狗狗
查看>>
AcWing 回文子串的最大长度
查看>>