`

易学设计模式九 单例模式(Singleton)

阅读更多
单例模式确保某一个类只有一个实例,并且自行实例化向整个系统提供这个实例




饿汉式
public class EagerSingleton {
	
	private static final EagerSingleton instance = new EagerSingleton();
	
	private EagerSingleton(){}
	
	public static EagerSingleton getInstance() {
		return instance;
	}
}


懒汉式
public class LazySingleton {
	
	private static LazySingleton instance = null;
	
	private LazySingleton() {}
	
	synchronized public static LazySingleton getInstance() {
		if(instance == null) {
			instance = new LazySingleton();
		}
		return instance;
	}

}


Java语言中的单例模式
Java的Runtime对象
public class CmdTest {
	public static void main(String[] args) throws IOException {	
		Process proc = Runtime.getRuntime().exec("notepad.exe");
	}
}
  • 大小: 36 KB
分享到:
评论

相关推荐

    易学设计模式源码光盘

    "易学设计模式源码光盘" 提供了一种直观的学习方式,帮助初学者更轻松地理解和应用这些模式。这里我们将深入探讨设计模式的核心理念、主要分类以及一些常见设计模式的实现细节。 首先,设计模式的出现源于对软件...

    易学设计模式

    ### 易学设计模式知识点详解 #### 一、设计模式概览 设计模式是一种软件设计中的通用解决方案,它描述了一种在特定情境下用来解决问题的重复出现的设计结构。设计模式可以帮助开发者更好地理解如何构建可扩展、可...

    [源代码] 《易学 设计模式》 随书源代码

    《易学 设计模式》 郭志学 编著 随书源代码 ☆ 章节清单:☆ 第01章 欲速则不达:了解设计模式 第02章 磨刀不误砍柴工:UML语言概述 第03章 术业有专攻:简单工厂模式 (SimpleFactory) 第04章 精益求精:工厂方法...

    java-易学设计模式

    "java-易学设计模式"这个压缩包很可能是包含了一些关于Java设计模式的示例源代码,方便学习者理解和掌握。 首先,我们来讨论一下设计模式的基本分类。设计模式分为三类:创建型模式、结构型模式和行为型模式。 1. ...

    设计模式例子文档,简单易学

    这份名为"设计模式例子文档,简单易学"的资源,显然是为了帮助开发者更直观、更快速地理解和应用设计模式。设计模式并非具体的代码或库,而是一种通用的解决方案模板,可以在不同的软件开发过程中复用,以提高代码的...

    介绍设计模式的代码

    在“易学设计模式代码”这个压缩包中,你将找到这些模式的Java实现示例。通过阅读和分析这些代码,你可以更好地理解每种模式的核心思想,以及如何在实际项目中应用它们。同时,虽然这里的示例是基于Java,但设计模式...

    .net开发的小游戏

    此外,设计模式如单例模式(Singleton)可能用于全局资源的管理,如游戏状态的维护。 2. **事件驱动编程**:在C#中,游戏的交互主要依赖于事件驱动。比如,当鼠标点击事件触发时,程序会检测点击位置是否与老鼠重合...

    Java语言写的飞机大战实训代码

    9. **设计模式**:在编写大型游戏时,良好的设计模式如观察者模式(Observer)可用于实现事件驱动,工厂模式(Factory)用于对象的创建,单例模式(Singleton)用于全局资源的管理。 通过这个实训项目,学生不仅能...

    dotmenu

    7. **设计模式**:为了提高代码的可读性和可维护性,"dotmenu"可能采用了常见的设计模式,如单例模式(Singleton)用于管理全局资源,工厂模式(Factory)用于生成菜单实例,或者观察者模式(Observer)来处理事件。...

    黑马程序员入学Java知识

    7. **Singleton模式(单例模式)饿汉式和懒汉式** - 饿汉式在类加载时就创建对象。 - 懒汉式在首次调用时才创建对象。 8. **final关键字** - 用于声明不可变的变量或方法。 - 提高代码的安全性和性能。 9. **...

Global site tag (gtag.js) - Google Analytics