Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

java单例

作者:巅峰战犯   发布日期:2025-08-23   浏览:76

// Java 单例模式示例

// 饿汉式单例模式
public class Singleton {
    // 1. 创建 Singleton 的私有静态实例
    private static final Singleton instance = new Singleton();

    // 2. 私有化构造函数,防止外部通过 new 关键字创建对象
    private Singleton() {}

    // 3. 提供一个公共的静态方法,返回实例对象
    public static Singleton getInstance() {
        return instance;
    }
}

// 懒汉式单例模式(线程安全)
public class SingletonLazy {
    // 1. 声明 SingletonLazy 的私有静态实例,但不初始化
    private static SingletonLazy instance;

    // 2. 私有化构造函数,防止外部通过 new 关键字创建对象
    private SingletonLazy() {}

    // 3. 提供一个公共的静态同步方法,返回实例对象
    public static synchronized SingletonLazy getInstance() {
        if (instance == null) {
            instance = new SingletonLazy();
        }
        return instance;
    }
}

解释说明:

  1. 饿汉式单例模式

    • 在类加载时就创建了实例对象,确保线程安全。
    • 优点:实现简单,线程安全。
    • 缺点:无论是否使用该实例,都会在类加载时创建对象,可能会浪费资源。
  2. 懒汉式单例模式(线程安全)

    • 实例对象在第一次调用 getInstance 方法时才创建,延迟加载。
    • 使用 synchronized 关键字确保多线程环境下只有一个实例被创建。
    • 优点:按需创建对象,节省资源。
    • 缺点:每次调用 getInstance 方法时都需要进行同步,可能会影响性能。

上一篇:properties在java中的含义

下一篇:java toarray

大家都在看

java连接数据库的代码

java djl

ubuntu 卸载java

java读取excel中的图片

java新建

java sort用法

java collections.sort

java file类的方法

java发送qq邮件

java 判断

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站