最安全的单例模式--java使用内部类实现单例模式
来源:互联网 发布:课程顾问 知乎 编辑:程序博客网 时间:2024/06/06 05:57
实现类
public class Singleton {
private static class LazyHolder {private static final Singleton INSTANCE = new Singleton();
}
private Singleton (){}
public static final Singleton getInstance() {
return LazyHolder.INSTANCE;
}
}
测试
public class Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Singleton singleton1 = Singleton.getInstance();
Singleton singleton2 = Singleton.getInstance();
if (singleton1 == singleton2)
System.out.println("same");
}
}
说明
单例模式实现方式有好多种,但大部分都会有多线程环境下的问题;使用内部类可以避免这个问题,因为在多线程环境下,jvm对一个类的初始化会做限制,同一时间只会允许一个线程去初始化一个类,这样就从虚拟机层面避免了大部分单例实现的问题,可以尝试下
0 0
- 最安全的单例模式--java使用内部类实现单例模式
- 最安全的单例模式--java使用内部类实现单例模式
- 单例模式-静态内部类的实现(线程安全)
- 【Java】线程安全的单例模式----静态内部类
- 单例模式--理解静态内部类实现线程安全的单例模式
- 单例模式静态内部类实现线程安全。
- 内部类实现单例模式
- 静态内部类实现单例模式
- Java静态内部类单例模式
- 使用静态内部类实现延迟加载单例模式
- 使用静态内部类实现单例模式
- Java单例模式——静态内部类实现
- 静态内部类、静态变量的加载次数-理解静态内部类实现线程安全的单例模式
- 静态内部类、静态变量的加载次数-理解静态内部类实现线程安全的单例模式
- 静态内部类、静态变量的加载次数-理解静态内部类实现线程安全的单例模式
- 静态内部类、静态变量的加载次数-理解静态内部类实现线程安全的单例模式
- 静态内部类、静态变量的加载次数-理解静态内部类实现线程安全的单例模式
- 基于内部类的单例模式
- 简单描述JSON跟JSONP的区别以及实战
- Java中的@interface以及method.invoke()
- 日志统计redis和mongo对比
- 面试题27:二叉搜索树与双向链表
- 【标题】:密文搜索
- 最安全的单例模式--java使用内部类实现单例模式
- mongodb的一些经验值
- 冒泡排序与选择拍序
- Jpush之如何利用HttpClient实现消息推送到手机
- 一般导入的包有问题
- Vue搭配mint-ui
- 使用caffe训练好的模型测试单张手写数字
- 单片机==LCD1602之简易万年历
- shader数学基础之顶点法向量从物体坐标系变换到世界坐标系