`

java单例模式的几种写法

    博客分类:
  • java
 
阅读更多

private static final UserService userService = new UserService();

	private UserService() {

	}

	/**
	 * 采取预加载的方式,userService在 classLoader 载入UserService.class 已经声明了对象
	 * 
	 * @return
	 */
	public static UserService getInstance() {
		return userService;
	}

	/**
	 * 用了synchronized 多个线程排队的情况比较严重
	 * 
	 * @return
	 */
	// public static synchronized UserService getInstance(){
	// if(userService==null){
	// userService = new UserService();
	// }
	// return userService;
	// }
	/**
	 * 可能会创建多个实例的情况
	 * 
	 * 
	 */
	// public static UserService getInstance() {
	// if (userService == null) {
	// synchronized (UserService.class) {
	//
	// userService = new UserService();
	// }
	// }
	// return userService;
	//
	// }
	// /**
	// * 通过双检查来判断,当前实例是否为空,第一次创建实例的时候可能会出现排队情况
	// *
	// * 创建完实例后,以后不会有排队的情况
	// *
	// */
	// public static UserService getInstance() {
	// if (userService == null) {
	// synchronized (UserService.class) {
	// if (userService == null) {
	// userService = new UserService();
	// }
	// }
	// }
	// return userService;
	//
	// }
	
分享到:
评论

相关推荐

    java-单例模式几种写法

    在Java中,实现单例模式有多种方法,每种方法都有其特点和适用场景。以下是对这六种常见单例模式实现方式的详细解释: 1. **饿汉式(静态常量)** 这是最简单的单例实现,它在类加载时就创建了实例,线程安全。 `...

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

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

    01 设计模式之单例模式.pdf

    在Java语言中,实现单例模式主要有以下几种方式: 1. 饿汉式(Eager Initialization) 饿汉式单例模式在类加载的时候就已经进行了实例化,因此它不需要考虑多线程同步的问题。这种方式在类加载时就完成了初始化,...

    2023年最新java面试大全

    【06期】单例模式有几种写法? 【07期】Redis中是如何实现分布式锁的? 【08期】说说Object类下面有几种方法呢? 【09期】说说hashCode() 和 equals() 之间的关系? 【10期】Redis 面试常见问答 【11期】分布式...

    java技术储备,如何提升自己

    1. 单例模式:了解单例模式的几种写法,包括懒汉式、饿汉式、双重检查锁定式等。 2. JDK 中的设计模式:了解 JDK 中的设计模式,包括 IO 中的装饰模式和设配器模式等。 3. 框架中的设计模式:了解常用的设计模式,...

    java_len.zip_java len

    10. **设计模式**:常见的23种设计模式,如单例模式、工厂模式、观察者模式等,是解决常见问题的成熟解决方案。 11. **注解(Annotation)**:用于提供元数据,增强代码的功能和可读性。 12. **Lambda表达式**:...

    春招&秋招面经

    以下是几种实现方式: 1. **懒汉式** ```java public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() {} public static Singleton getSingleton() { ...

    JAVA 面试题

    6. **单例模式的几种写法:** 单例模式保证一个类只有一个实例,并提供一个全局访问点。常见的单例实现方式有饿汉式、懒汉式、枚举类型以及利用双重检查锁定机制等。 7. **web.xml加载顺序:** 在Web应用中,web....

    《Java基础入门》复习资料(打印).doc.docx

    17. **单例设计模式**:单例模式确保一个类只有一个实例,并提供一个全局访问点。它通常通过私有构造方法、静态变量和静态工厂方法实现。 在学习Java基础时,理解并掌握这些概念是至关重要的,它们构成了编写高效、...

    天舟通信笔试题1

    单例模式是一种设计模式,确保一个类只有一个实例,并提供全局访问点。常见的单例实现有饿汉式(静态常量)、懒汉式(线程安全的双重检查锁定)和枚举单例等。 5. **递归算法** 递归是函数或方法在定义时调用自身...

    Android SharedPreferences存储的正确写法

    1. **单例模式**:通过`Context.getSharedPreferences()`获取的SharedPreferences对象是单例的,意味着在整个应用中只会有一个实例。这样确保了数据的一致性,避免了多个副本可能导致的冲突。 2. **编辑器模式**:`...

    C#面试资料,囊括了个大IT公司招聘时的习题

    10. **设计模式**:熟悉常见的设计模式,如单例模式、工厂模式、观察者模式等,以及它们在实际开发中的应用。 11. **数据库操作**:SQL基础,ADO.NET或Entity Framework的使用,以及数据库事务处理。 12. **Web...

    Lista-de-Contatos

    描述 "ListadeContatos" 是标题的另一种写法,进一步证实了这一点。标签 "Kotlin" 提示我们该项目是使用 Kotlin 语言编写的,这是一种由 JetBrains 开发的现代编程语言,特别适合 Android 应用开发。 Kotlin 知识点...

Global site tag (gtag.js) - Google Analytics