`
lvwenwen
  • 浏览: 955442 次
  • 性别: Icon_minigender_1
  • 来自: 魔都
社区版块
存档分类
最新评论

java设计模式之单例模式(创建型模式)

阅读更多

 

 

单列模式:

优点:1.节省资源,2.确保整个应用期类只有一个实列

缺点:1.扩展困难 ,2.隐式使用引起类结构不清晰,3.导致程序内存泄露的问题

什么情况不能使用单列模式:类想得到很好的扩展时,不能使用单例模式。 

什么情况下使用:1.调用连接数据库的时候(创建session的时候必须写成单例模式)

2.当某个对象会被频繁访问并且在多线程并发访问时没有线程安全性的问题时,

可以考虑使用单例工厂来完成这样的任务(系统只需要拥有一个的全局对象。比喻线程池,日志对象等等。)

3.读取配置文件的类用单例啊(读取propties文件)

4.什么情况下使用satatic方法(satic()方法跟单例模式的区别,分别在什么情况下使用?):如果某个方法是用频率较高,或者方法本身通用性较强,无需初始化类成员变量,则可以使用静态方法,那样方便,速度也快!

 

//懒汉:需要加锁才能实现多线程同步,但是效率会降低。优点是延时加载。

package com.createtype.desginpatterns;
public class LazySingleton {

	private static LazySingleton instance = null;

	private LazySingleton() {
	}

	public static synchronized LazySingleton getInstance() {
		if (instance == null) {
			instance = new LazySingleton();
		}
		return instance;
	}

}


package com.createtype.desginpatterns;
/**
 * 饿汉模式
 * 优点:因为加载类的时候就创建实例,所以线程安全(多个ClassLoader存在时例外)。
 * 缺点:是不能延时加载。
 * @author administrator
 *
 */
 public class EagerSingleton {  
        //饿汉模式:
         private static EagerSingleton instance = new EagerSingleton();  
  
         private EagerSingleton(){};  
  
         public static EagerSingleton getInstance(){  
            return instance;  
        }  
 }
分享到:
评论

相关推荐

    设计模式之单例模式(结合工厂模式)

    工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。在工厂模式中,当创建对象时,我们不会对客户端暴露创建逻辑,而是提供一个接口来让客户端请求特定类型的实例。这样,客户端无需知道具体的产品实现...

    设计模式单例模式和工厂模式综合应用

    "设计模式单例模式和工厂模式综合应用"的主题聚焦于两种常用的设计模式:单例模式和工厂模式,并探讨它们如何协同工作来实现高效、灵活的代码结构。这个主题尤其适用于Java编程语言,因为Java的面向对象特性使得设计...

    java设计模式之单例模式详解

    Java设计模式之单例模式详解 一、单例模式概览 单例模式(Singleton Pattern)是面向对象设计模式中的一种,属于创建型模式。它确保一个类仅有一个实例,并提供一个全局访问点来访问该实例。单例模式的核心在于控制...

    Java设计模式-单例模式详解

    Java设计模式-单例模式详解 单例模式是 Java 设计模式中的一种常用的设计模式,旨在保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式的目的是为了保证在一个进程中,某个类有且仅有一个实例。 ...

    java设计模式之单例模式

    Java设计模式中的单例模式是一种常用的创建型设计模式,它保证了类只有一个实例,并提供一个全局访问点。这种模式在很多场景下非常有用,比如控制共享资源、管理配置信息等。接下来,我们将深入探讨8种不同的单例...

    java设计模式-单例.pdf

    ### Java设计模式——单例模式详解 #### 一、单例模式概述 单例模式是设计模式中的一个重要组成部分,属于创建型模式之一。其主要作用是确保某个类仅有一个实例存在,并提供一个全局访问该实例的方法。这在很多场景...

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂 第二部分

    工厂模式是一种创建型设计模式,它提供了一个创建对象的接口,但允许子类决定实例化哪个类。这使得系统可以在不指定具体类的情况下引用抽象。在Java中,工厂模式可以通过定义一个工厂接口和多个实现了该接口的具体...

    设计模式之单例模式Java实现和类设计图

    单例模式是一种创建型设计模式,其核心思想是保证一个类只有一个实例,并提供一个全局访问点。这种模式常用于控制资源的共享,如数据库连接、线程池或配置对象等。在Java中,实现单例模式有多种方法,包括懒汉式...

    JAVA设计模式之单例模式(完整版)[归类].pdf

    **Java设计模式:单例模式详解** 单例模式是软件设计中的一种常见模式,它确保一个类只有一个实例,并提供一个全局访问点。这种模式在控制资源的共享、提高性能或协调多个组件之间的交互等方面有着广泛的应用。 ##...

    JAVA-设计模式-创建型模式-单例模式

    JAVA-设计模式-创建型模式-单例模式

    java 设计模式 mvc模式 单例模式 代理 工厂 简单工厂

    4. **工厂模式**:这是一种创建型设计模式,它提供了一种创建对象的最佳方式。工厂模式抽象了实例化过程,用户无需知道具体类的实现细节,只需调用工厂方法即可获取对象。在Java中,简单工厂、工厂方法和抽象工厂是...

    Java设计模式(单例+工厂+策略模式)

    Java设计模式是软件开发中的重要概念,它是一种在特定情境下解决常见问题的模板或最佳实践。本主题将深入探讨三种关键的设计模式:单例模式、工厂模式和策略模式。 **单例模式** 是一种创建型设计模式,保证一个类...

    设计模式-单例模式

    单例模式是一种广泛应用于软件设计中的创建型设计模式,它的核心思想是确保一个类只有一个实例,并提供一个全局访问点。这样做的好处在于控制共享资源的访问,比如线程安全的数据库连接池或者配置管理等。 在Java中...

    全面解析Java设计模式之单例模式

    单例模式是设计模式中的一种基础模式,它确保一个类在任何情况下只有一个实例存在。这种模式的核心在于限制类的实例化,保证全局范围内只有一个对象,同时也提供了一个全局访问点,使得其他部分的代码能够方便地使用...

    Java面试 java设计模式整理 单例、工厂、策略等 面试使用,学习使用

    Java设计模式是软件开发中的重要概念,它们是解决常见问题的成熟、可重用的解决方案。在面试中,对设计模式的理解和应用能力是评估一个程序员技术水平的关键因素。以下是关于标题和描述中提及的一些主要设计模式的...

    Java 单例模式 工具类

    Java中的单例模式是一种常用的软件设计模式,它保证一个类只有一个实例,并提供全局访问点。在Java编程中,单例模式常用于控制资源的访问,比如数据库连接池、线程池或者日志对象等。本篇文章将深入探讨如何在Java中...

    javaweb项目+设计模式(单例模式,工厂模式,动态代理,适配器)

    工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式。通过创建一个工厂类,可以根据传入的参数返回不同类型的实例,降低了系统对具体类的依赖。在Java Web项目中,数据库连接的DAO层通常会用到工厂模式...

    设计模式之单例模式

    单例模式(Singleton Pattern)是软件设计模式中的一个重要组成部分,属于创建型模式之一。它保证一个类仅有一个实例,并提供一个全局访问点。单例模式的核心在于确保某个类只有一个实例存在,并且这个实例能够被...

Global site tag (gtag.js) - Google Analytics