`
darrenzhu
  • 浏览: 802614 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java单例模式Singleton的几种实现方式

阅读更多
请参考链接:
Singleton Design Pattern in Java
http://howtodoinjava.com/design-patterns/creational/singleton-design-pattern-in-java/



1) Recommendation way
public class DemoSingleton implements Serializable {
	private static final long serialVersionUID = 1L;

	private DemoSingleton() {
		// private constructor
	}

	private static class DemoSingletonHolder {
		public static final DemoSingleton INSTANCE = new DemoSingleton();
	}

	public static DemoSingleton getInstance() {
		return DemoSingletonHolder.INSTANCE;
	}

	protected Object readResolve() {
		return getInstance();
	}
}


2) minimum effort way

This type of implementation recommend the use of enum. Enum, as written in java docs, provide implicit support for thread safety and only one instance is guaranteed. This is also a good way to have singleton with minimum effort.

public enum EnumSingleton {
    INSTANCE;
    public void someMethod(String param) {
        // some class member
    }
}

分享到:
评论

相关推荐

    JAVA单例模式的几种实现方法

    ### JAVA单例模式的几种实现方法 #### 一、饿汉式单例类 饿汉式单例类是在类初始化时就已经完成了实例化的操作。这种实现方式简单且线程安全,因为实例化过程是在编译期间完成的,不会受到多线程的影响。 **代码...

    单例模式的几种实现方式

    每种实现方式都有其适用场景,开发者应根据实际需求选择合适的单例实现。例如,如果项目对性能要求较高,可考虑使用静态内部类或枚举;如果对内存占用有要求,可以考虑饿汉式。在多线程环境中,务必保证单例的线程...

    Java 单例模式 工具类

    首先,让我们了解单例模式的几种常见实现方式: 1. 饿汉式(静态常量): 这是最简单的单例实现,它在类加载时就完成了初始化,因此是线程安全的。 ```java public class Singleton { private static final ...

    单例模式的几种实现方式demo

    下面我们将深入探讨单例模式的几种实现方式。 ### 1. 饿汉式(静态常量) 饿汉式单例在类加载时就完成了初始化,因此是线程安全的。代码如下: ```java public class Singleton { private static final ...

    Java单例模式深入理解

    每种实现方式都有其优缺点,应根据实际需求选择合适的实现方式。例如,如果项目对性能要求较高,可能会选择静态内部类或枚举实现;而如果考虑到反射攻击和序列化问题,可能需要选择DCL或枚举实现。在使用单例模式时...

    7种单例模式

    下面将详细介绍七种常见的单例模式实现方式,并结合多线程环境和反序列化测试进行讨论。 1. **饿汉式单例**: 这是最简单的单例实现,它在类加载时就创建了实例,因此是线程安全的。 ```java public class ...

    单例模式各种实现方式

    每种实现方式都有其特点和适用场景,开发者应根据实际需求选择合适的单例实现。在实际项目中,还要考虑性能、线程安全以及代码可读性等因素。例如,如果项目中对性能要求较高,可以优先考虑静态内部类或枚举实现;...

    java-单例模式几种写法

    以下是对这六种常见单例模式实现方式的详细解释: 1. **饿汉式(静态常量)** 这是最简单的单例实现,它在类加载时就创建了实例,线程安全。 ```java public class Singleton { private static final Singleton...

    Java设计模式之单例模式的七种写法

    在 Java 中,单例模式的写法有好几种,主要有懒汉式单例、饿汉式单例、登记式单例等。 懒汉式单例是一种常见的单例模式实现方式,它在第一次调用的时候实例化自己。下面是懒汉式单例的四种写法: 1、基本懒汉式...

    详解JAVA单例模式及多种实现.doc

    以下是几种常见的Java单例模式实现方式: 1. **饿汉式(静态常量)**: 这种方式在类加载时即初始化实例,线程安全,但可能导致不必要的内存占用。 ```java public class Singleton1 { private Singleton1() {} ...

    Java单例模式实现的几种方式

    Java单例模式是一种设计模式,它保证一个类只有一个实例,并提供一个全局访问点。这种模式在需要频繁创建和销毁对象的场景中非常有用,比如配置类、缓存管理或者数据库连接池等。以下是对Java中实现单例模式的几种...

    几种单例模式demo

    单例模式的实现方式有很多种,下面我们将详细探讨几种常见的单例模式的实现方法: 1. 饿汉式(静态常量): 这种方式在类加载时就完成了初始化,因此是线程安全的。 ```java public class Singleton { private ...

    Java单例模式与工厂模式简单示例代码

    在Java中,单例模式的实现通常有几种方法: 1. **饿汉式(静态常量)**:在类加载时就完成初始化,所以类加载比较慢,但获取对象的速度快,且线程安全。 ```java public class Singleton { private static final ...

    java中的单例模式

    静态内部类单例利用JVM保证了类加载的线程安全性,而枚举单例则是一种既简洁又线程安全的实现方式,也是官方推荐的单例实现方式。 ```java public enum Singleton { INSTANCE; // ... } ``` 在使用单例模式时,...

    Java面向对象(高级)- 单例(Singleton)设计模式

    单例模式有两种常见的实现方式:饿汉式和懒汉式。 - 饿汉式(Eager Initialization):在类加载时就创建了单例对象,这种方式简单且线程安全,但可能会造成资源浪费,因为即使单例未被使用,也会在类加载时创建。 `...

    大话设计模式--Singleton(单例模式)

    单例模式的实现通常有以下几种方法: 1. 饿汉式(静态常量): 这种方式在类加载时就完成了实例化,线程安全。代码如下: ```java public class Singleton { private static final Singleton INSTANCE = new ...

    最全的单例模式j(java实现),下到就是赚到!

    首先,让我们了解几种常见的Java单例模式实现方法: 1. 饿汉式(静态常量): 这种方式在类加载时就完成了初始化,所以是线程安全的。 ```java public class Singleton { private static final Singleton ...

    设计模式-单例模式

    在Java中,实现单例模式主要有以下几种方式: 1. **饿汉式(静态常量)**: 这是最简单的一种实现方式,它在类加载时就完成了实例化,避免了多线程同步问题。 ```java public class Singleton { private static...

    设计模式之单例模式源码demo

    单例模式的实现方式有很多种,主要分为以下几种: 1. **饿汉单例模式**:在类加载时就完成初始化,因此静态变量`instance`会随着类的加载而被创建。这种方式线程安全,且因为单例在类加载时已经创建,所以不存在多...

    Singleton pattern单例模式应用

    除了上述提到的饿汉式和懒汉式单例模式外,还有其他几种实现方式,如枚举单例、内部类单例等,每种方式都有其适用场景和优劣。 #### 结论 单例模式作为软件工程中的一种基本设计模式,其核心在于控制类的实例化...

Global site tag (gtag.js) - Google Analytics