Java两种单例模式

简介: Java两种单例模式

饿汉单例

// 饿汉单例模式
// 饿汉单例在获取对象前,对象已经提前准备好了一个, 这个对象只能是一个,所以定义静态成员变量记住
public static SingleInstance instance = new SingleInstance(); // 实例化静态对象
// 必须定义私有构造器
private SingleInstance() {}
package com.code.static_singleinstance;
public class Test1 {
  public static void main(String[] args) {
    // 理解饿汉单例的设计步骤
    SingleInstance s1 = SingleInstance.instance; // 地址相同
    SingleInstance s2 = SingleInstance.instance; // 地址相同
    if (s1 == s2) {
      System.out.println("yes!");
    }
  }
}

懒汉单例

package com.code.static_singleinstance;
public class SingleInstance02 {
  /**
   * 2. 定义一个静态成员变量负责存储一个对象
   * 只加载一次,只有一份
   * 最好私有化,避免给别人挖坑
   */
  private static SingleInstance02 instance;
  /**
   * 3.定义方法,对外返回单例对象
   */
  public static SingleInstance02 getInstance() {
    if (instance == null) { // 如果没有就创建对象,如果有 return instance
      // 第一次拿对象
      // 创建对象
      instance = new SingleInstance02();
    }
    return instance;
  }
  /**
   * 私有化构造器
   */
  private SingleInstance02(){}
}
package com.sijiaqi.d4_static_singleinstance;
public class Test2 {
  public static void main(String[] args) {
    // 目标: 账务懒汉单例
    SingleInstance02 s1 = SingleInstance02.getInstance();
    SingleInstance02 s2 = SingleInstance02.getInstance();
    System.out.println(s1); // 地址相同
    System.out.println(s2); // 地址相同
  }
}

本期为1024水文专属

相关文章
|
3月前
|
设计模式 Java 数据库连接
Java编程中的设计模式:单例模式的深度剖析
【10月更文挑战第41天】本文深入探讨了Java中广泛使用的单例设计模式,旨在通过简明扼要的语言和实际示例,帮助读者理解其核心原理和应用。文章将介绍单例模式的重要性、实现方式以及在实际应用中如何优雅地处理多线程问题。
56 4
|
3月前
|
设计模式 安全 Java
Java编程中的单例模式深入解析
【10月更文挑战第31天】在编程世界中,设计模式就像是建筑中的蓝图,它们定义了解决常见问题的最佳实践。本文将通过浅显易懂的语言带你深入了解Java中广泛应用的单例模式,并展示如何实现它。
|
3月前
|
设计模式 安全 Java
Java编程中的单例模式:理解与实践
【10月更文挑战第31天】在Java的世界里,单例模式是一种优雅的解决方案,它确保一个类只有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的实现方式、使用场景及其优缺点,同时提供代码示例以加深理解。无论你是Java新手还是有经验的开发者,掌握单例模式都将是你技能库中的宝贵财富。
106 2
|
3月前
|
设计模式 SQL 安全
Java编程中的单例模式深入解析
【10月更文挑战第24天】在软件工程中,单例模式是设计模式的一种,它确保一个类只有一个实例,并提供一个全局访问点。本文将探讨如何在Java中使用单例模式,并分析其优缺点以及适用场景。
26 0
|
4月前
|
设计模式 安全 Java
Java编程中的单例模式深入剖析
【10月更文挑战第21天】在Java的世界里,单例模式是设计模式中一个常见而又强大的存在。它确保了一个类只有一个实例,并提供一个全局访问点。本文将深入探讨如何正确实现单例模式,包括常见的实现方式、优缺点分析以及最佳实践,同时也会通过实际代码示例来加深理解。无论你是Java新手还是资深开发者,这篇文章都将为你提供宝贵的见解和技巧。
125 65
|
4月前
|
SQL 设计模式 Java
[Java]单例模式
本文介绍了单例模式的概念及其实现方式,包括饿汉式和懒汉式两种形式,并详细探讨了懒汉式中可能出现的线程安全问题及其解决方案,如锁方法、锁代码块和双重检查锁(DCL)。文章通过示例代码帮助读者更好地理解和应用单例模式。
45 0
|
4月前
|
设计模式 SQL 安全
【编程进阶知识】Java单例模式深度解析:饿汉式与懒汉式实现技巧
本文深入解析了Java单例模式中的饿汉式和懒汉式实现方法,包括它们的特点、实现代码和适用场景。通过静态常量、枚举类、静态代码块等方式实现饿汉式,通过非线程安全、同步方法、同步代码块、双重检查锁定和静态内部类等方式实现懒汉式。文章还对比了各种实现方式的优缺点,帮助读者在实际项目中做出更好的设计决策。
90 0
|
5月前
|
设计模式 Java 安全
Java设计模式-单例模式(2)
Java设计模式-单例模式(2)
|
5月前
|
设计模式 安全 Java
Java 编程中的设计模式:单例模式的深度解析
【9月更文挑战第22天】在Java的世界里,单例模式就像是一位老练的舞者,轻盈地穿梭在对象创建的舞台上。它确保了一个类仅有一个实例,并提供全局访问点。这不仅仅是代码优雅的体现,更是资源管理的高手。我们将一起探索单例模式的奥秘,从基础实现到高级应用,再到它与现代Java版本的舞蹈,让我们揭开单例模式的面纱,一探究竟。
56 11
|
6月前
|
设计模式 安全 Java
Java编程中的单例模式深度解析
【8月更文挑战第31天】 单例模式,作为设计模式中的经典之一,在Java编程实践中扮演着重要的角色。本文将通过简洁易懂的语言,逐步引导读者理解单例模式的本质、实现方法及其在实际应用中的重要性。从基础概念出发,到代码示例,再到高级应用,我们将一起探索这一模式如何优雅地解决资源共享和性能优化的问题。

热门文章

最新文章