`
liudaoru
  • 浏览: 1576266 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

最优的单例模式

    博客分类:
  • java
阅读更多

 

 

public class QuestionManager {

	/**
	 * 提供单例对象的静态内部类
	 */
	private static class SingletonHolder {
		public static QuestionManager instance = new QuestionManager();
	}

	/**
	 * 获取对象实例
	 * @return
	 */
	public static QuestionManager getInstance() {
		return SingletonHolder.instance;
	}

        private QuestionManager() {
		//do init
	}
}

 备忘一下~

 

 

2
2
分享到:
评论
8 楼 liudaoru 2008-11-14  
zzx0421 写道

虽然采用内部类的形式,但是QuestionManager类的构造方法也应该私有吧?!

恩,对,只是我没放上去。。。。
7 楼 zhq426 2008-11-13  
在多线程下可能会出现问题吧。。。。
6 楼 liangwenzheng 2008-11-12  
Maybe you forgot make constructor of QuestionManager private.
5 楼 zzx0421 2008-11-06  
虽然采用内部类的形式,但是QuestionManager类的构造方法也应该私有吧?!
4 楼 liudaoru 2008-11-05  
shiren1118 写道

何谓最优呢?

请参考:http://dang.iteye.com/blog/249445
3 楼 liangwenzheng 2008-11-05  
拜读
但最优的原因呢?
2 楼 shiren1118 2008-11-05  
何谓最优呢?
1 楼 qsky 2008-11-05  
非常不错,
还有一种方法是用spring也蛮不错的,spring的bean默认是单例 且加载的时候已经创建所以不用担心多线程问题

相关推荐

    单例模式与工厂模式.docx

    【单例模式】 单例模式是一种常用的软件设计模式,它的主要目标是确保一个类在整个应用程序中只有一个实例,并提供全局访问点。单例模式的核心特点包括: 1. **唯一实例**:保证类只有一个实例存在,避免资源浪费...

    java单例模式

    ### Java单例模式详解 #### 一、单例模式简介 单例模式是Java设计模式中最为基础且应用广泛的设计模式之一。它确保一个类仅有一个实例被创建,并提供一个全局访问点供系统中的其他对象获取该实例。单例模式在实际...

    js代码-js单例模式最优

    JavaScript中的单例模式是一种设计模式,它确保一个类只有一个实例,并提供一个全局访问点来获取这个实例。在JavaScript中,由于其动态特性和全局作用域,实现单例模式的方法多种多样,但我们要寻找的是最优解。下面...

    设计模式-Java语言中的应用(pdf)

    例如,EJB(Enterprise JavaBeans)中的会话bean和实体bean体现了工厂模式和单例模式,而Hibernate作为流行的ORM(Object-Relational Mapping)框架,其核心机制就是数据访问对象(DAO)模式。 总之,设计模式是...

    Java的23种设计模式百度云下载链接.rar

    1. **单例模式**:确保一个类只有一个实例,并提供全局访问点。在Java中,通常通过双重检查锁定、静态内部类或者枚举来实现单例。 2. **工厂模式**:提供一个接口来创建对象,但让子类决定实例化哪个类。Java中的`...

    Java企业设计模式

    2. 单例模式:单例模式确保一个类只有一个实例,并提供全局访问点。在企业级应用中,例如数据库连接池管理,线程池等,常常采用单例模式,以节省资源并控制并发。 3. 观察者模式:这是一种行为设计模式,允许你定义...

    Java知识资料,后端资料,面试资料

    单例模式(Singleton Pattern)是设计模式中的一种,目的是确保一个类只有一个实例并提供全局访问点。通常,单例模式是线程安全的,避免了多个对象实例的产生,适用于需要共享资源或唯一标识的情况,如日志记录、...

    Learning JavaScript Design Patterns[学习javascript设计模式]

    1. **经典设计模式**:包括工厂模式、单例模式、观察者模式等,这些模式已经在多种编程语言中得到广泛应用。 - **工厂模式**:提供了一个创建对象的接口,但允许子类决定实例化哪一个类。 - **单例模式**:确保一...

    设计 模式

    单例模式在需要全局共享资源或者控制实例数量的情境中非常有用,如数据库连接池或日志服务。 3. **观察者模式**:定义对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并...

    23种设计模式要点.pdf

    单例模式确保一个类只有一个实例,并提供一个全局访问点。这种模式主要用于那些需要频繁实例化然后销毁的对象,或者当创建对象时需要消耗大量资源(如数据库连接、I/O操作等),以及那些需要被多次使用的对象,比如...

    java设计模式

    - 单例模式:保证一个类只有一个实例,并提供一个全局访问点。 - 工厂模式:提供一个接口用于创建相关或依赖对象的家族,而无需指定具体类。 - 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而...

    java的设计模式java的设计模式

    1. **单例模式**:保证一个类只有一个实例,并提供一个全局访问点。在Java中,可以使用懒汉式或饿汉式实现,考虑线程安全,可以使用双重检查锁定或静态内部类方式。 2. **工厂模式**:提供一个接口来创建对象,但让...

    【让设计优化户外生活】-java23种设计模式.docx

    在户外产品设计中,如果需要控制资源的唯一性,如管理公共的天气预报服务,单例模式是非常适用的。 2. **工厂模式**:定义一个用于创建对象的接口,让子类决定实例化哪一个类。在户外家具生产中,可以根据客户定制...

    Java23种设计模式

    - 单例模式(Singleton):保证一个类只有一个实例,并提供全局访问点。 - 工厂方法模式(Factory Method):定义一个创建对象的接口,让子类决定实例化哪一个类。 - 抽象工厂模式(Abstract Factory):提供一个...

    二十三种设计模式图解(自学)

    1. **单例模式**:保证一个类只有一个实例,并提供一个全局访问点。这种模式常用于配置管理、日志记录等场景,避免资源浪费。 2. **工厂模式**:定义一个创建对象的接口,让子类决定实例化哪一个类。工厂方法让类的...

    基础夯实套装--设计模式算法.pdf

    - **单例模式(Singleton)**:确保一个类只有一个实例,并提供全局访问点。 - **适配器模式(Adapter)**:允许不兼容接口的对象协同工作。 - **装饰器模式(Decorator)**:动态地给一个对象添加一些额外的职责...

    c#23种设计模式.doc

    1. 单例模式:确保一个类只有一个实例,并提供一个全局访问点。在C#中,通常使用`static`关键字和私有构造函数实现,或者利用`Lazy<T>`类型来实现线程安全的单例。 2. 工厂模式:提供一个创建对象的接口,但让子类...

    DesignJava

    单例模式确保一个类只有一个实例,并提供一个全局访问点。这在需要频繁访问同一资源(如数据库连接)的场景中非常有用,可以避免资源的重复创建和销毁,提高效率。 综上所述,创建型模式在Java开发中扮演着至关重要...

Global site tag (gtag.js) - Google Analytics