`

四中方式实现单例模式

阅读更多

一:饿汉式单例模式

package com.zkn.newlearn.gof.singleton;

/**
 *
 * 饿汉式单例模式
 * @author zkn
 *
 */

public class SingletonTest01{

	/**
	 * 加载类时,立即加载对象,是没有延迟的。是天然的线程安全的
	 */
	private static SingletonTest01 singleton = new SingletonTest01();
	
	/**
	 *  构造器私有化
	 */
	private SingletonTest01() {
		
	}
	/**
	 * 返回这个对象
	 */
	public static SingletonTest01 getInstance(){
		
		return singleton;
	}
	
	public void test(){
		System.out.println("我是饿汉式单例模式");
	}
	
}


二:懒汉式单例模式

package com.zkn.newlearn.gof.singleton;

/**
 * 
 * @author zkn
 *
 */

public class SingletonTest02 {

	private static SingletonTest02 singleton;
	
	/**
	 * 构造器私有化
	 */
	private SingletonTest02() {
		
	}

	public static synchronized SingletonTest02 getInstance(){
		
		if(singleton == null){
			singleton = new SingletonTest02();
		}
		return singleton;
	}
	
	public void test(){
		System.out.println("我是懒汉是单例模式");
	}
}


三:静态内部类

package com.zkn.newlearn.gof.singleton;

/**
 * 静态内部类  线程安全 延迟加载 调用效率高
 * @author zkn
 *
 */


public class SingletonTest04 {

	private static class SingletonClassInstance{
		private static final SingletonTest04 single = new SingletonTest04(); 
	}
	
	private SingletonTest04() {
		
	}

	public static SingletonTest04 getInstance() {
		
		return SingletonClassInstance.single;
	}
	
}


四:枚举(单元素)

package com.zkn.newlearn.gof.singleton;

/**
 * 
 * 枚举实现单例 避免反射漏洞 jvm层面是安全的
 * @author zkn
 *
 */

public enum SingletonTest05 {

	/**
	 * 枚举元素本身就是单例
	 */
	INSTANCE;
}

 

分享到:
评论

相关推荐

    软件设计模式实验

    常见的创建型设计模式有六种,即简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式和单例模式。通过使用Visio或Rose画UML图,我们可以更好地理解和比较这些模式的特点和适用场合。 在实验报告中,...

    基于ssm的呼市四中网上试卷管理系统设计与实现.docx

    基于SSM的呼市四中网上试卷管理系统设计与实现 摘要:随着社会的发展,科学技术也在不断的提高和完善,计算机信息管理技术的发展和成熟。为了解决教师日常工作中的效率问题和学生学习任务的困难,设计和实现了基于...

    北京四中学习方法 网络转载

    【北京四中学习方法】是源自北京四中这一著名中学的一种高效学习模式,该方法强调自学能力和良好学习习惯的重要性。北京四中以其优秀的素质教育成果著称,如21年升学率100%,大部分毕业生进入重点大学,其中半数进入...

    Android启动模式

    在提供的源码`LaunchMode`中,开发者可能已经实现了这些启动模式的示例,并设置了不同按钮或逻辑来切换不同的启动模式,以便于测试和理解它们各自的效果。在使用源码时,需要根据自己的需求修改代码,例如设置Intent...

    实验四:工厂模式.rar

    2. **工厂方法模式**:将创建对象的具体过程交给子类来实现,工厂类提供一个创建产品的抽象方法,每个子类对应一个具体的产品实现这个方法。这种方式提高了代码的灵活性,增加了新的产品类型时只需要新增一个子类...

    北京四中高一数学期末试题.doc

    【北京四中高一数学期末试题解析】 在深入解析这份北京四中高一数学期末试题之前,首先要明白高中数学的基本框架。高一数学通常涵盖的主要内容包括:代数基础(如函数、方程与不等式)、几何初步(平面直角坐标系、...

    【全国百强校】北京四中2020-2021学年下学期初中七年级期中考试生物试题.pdf

    【全国百强校】北京四中2020-2021学年下学期初中七年级期中考试生物试题.pdf

    安徽淮南四中联系方式(地址及电话).doc

    这篇文档实际上是一份高中数学测试试卷,包含了选择题、填空题和解答题,主要考察学生的数学知识掌握情况。由于内容主要是数学题目,因此我们无法直接生成一篇超过1000字的文章,但我可以概述其中涉及的主要数学知识...

    android activity四中启动模式测试demo

    只是一个测试启动模式的demo,如需要免积分下载,还请私信。

    2018年襄阳市四中、五中自主招生考试数学试卷.docx

    这份资料是2018年襄阳市四中、五中自主招生考试的数学试卷,主要测试学生的数学基础知识和解决问题的能力。试卷包含选择题、填空题和解答题三种题型,涉及的知识点广泛,包括代数、几何、概率等多个方面。 1. 选择...

    襄阳四中联考理数答案

    襄阳四中联考理数答案

    北京四中远程教育合作学校介绍及资源讲解.docx

    【北京四中远程教育合作学校】是一个旨在分享北京四中优质教育资源的项目,旨在通过远程教育的方式提升合作学校教学质量,促进教师的专业发展。北京四中是中国基础教育的领军机构,以其素质教育理念和全面发展的培养...

    四川省宜宾市南溪四中2020学年八年级生物上学期期中考试(无答案).doc

    四川省宜宾市南溪四中2020学年八年级生物上学期期中考试(无答案).doc

    宁夏贺兰四中2020学年八年级语文上学期第一次月考试题(无答案) 新人教版.doc

    【标题】和【描述】提及的是宁夏贺兰四中2020学年八年级上学期第一次月考的语文试题,这份试题适用于新人教版教材。文档格式为word资料,包含语文基础知识及运用、古诗文默写、现代文阅读等部分。 【部分内容】展示...

    北京四中高一物理期末试题.doc

    学生需要理解热能的传递方式(传导、对流、辐射),以及理想气体的状态方程。试题可能包含热膨胀、比热容、热量计算等实际应用题目。 3. 电磁学部分:高一阶段,电磁学通常会涉及静电场、电流和磁场的基本概念。...

    C++ 四中常用强制类型转化

    C++四中常用强制类型转化, :static_cast、dynamic_cast、reinterpret_cast、和const_cast

    运用VC#编程通过OPC方式实现PC机与西门子PLC通讯

    ### 运用VC#编程通过OPC方式实现PC机与西门子PLC通讯 #### 知识点一:同步通讯与异步通讯的区别及应用场景 - **同步通讯**:在此模式下,发送方发送数据后必须等待接收方的确认响应后才能继续下一步操作。这种模式...

    四中网校面授客户端

    四中网校客户端,如果你报名了四中网校的面授课程,千万要记得下载,否则你是无法正常观看四中网校的面授课程的!

    北京四中远程教育合作学校介绍及资源讲解.pdf

    【北京四中远程教育合作学校】是一个旨在分享北京四中优质教育资源的项目,旨在通过远程教育的方式提升合作学校的教学质量。该项目不仅提供丰富的教学材料,还包含远程教研和教师培训,以促进教师的专业成长。 北京...

    2021届北京四中高二下学期数学期中考试试题.docx

    在本资源中,我们将对2021届北京四中高二下学期数学期中考试试题进行详细的总结和分析。 一、考试试题结构 本次考试试题涵盖了高二数学的多个方面,包括代数、几何、函数、统计等领域。试题结构分为选择题和填充题...

Global site tag (gtag.js) - Google Analytics