单例模式 (两种)及多线程下的优化
来源:互联网 发布:彩虹6号 知乎 编辑:程序博客网 时间:2024/06/08 08:49
单例模式是常用的设计模式
主要有饿汉和懒汉式
public class SingletonTest{ public static void main(String[] args) { Singleton instance = Singleton.getInstance(); Singleton1 instance1 = Singleton1.getInstance(); Singleton2 instance2 = Singleton2.getInstance(); Singleton3 instance3 = Singleton3.getInstance(); }}//急速单例模式class Singleton { private static Singleton instance= new Singleton(); private Singleton () { System.out.println("Singleton..."); } public static Singleton getInstance() {return instance; } }//懒汉式单例模式class Singleton1 { private static Singleton1 instance = null; private Singleton1() { System.out.println("Singleton1..."); } public static Singleton1 getInstance() { if(instance==null) { instance = new Singleton1(); } return instance; }}//加上 同步方法 class Singleton2 { private static Singleton2 instance = null; private Singleton2() { System.out.println("Singleton2..."); } public static Singleton2 getInstance() { Object obj = new Object(); synchronized (obj) { if(instance==null) { instance = new Singleton2(); } } return instance; }}//优化锁的粒度 class Singleton3 { private static Singleton3 instance = null; private Singleton3() { System.out.println("Singleton3..."); } public static Singleton3 getInstance() { Object obj = new Object(); if(instance==null) { synchronized(obj) { if(instance ==null) instance = new Singleton3(); } } return instance; }}
0 0
- 单例模式 (两种)及多线程下的优化
- 关于多线程下的单例模式及其优化
- 单例模式的两种实现方式及区别
- 单例模式及单例类的两种实现
- Android两种典型的单例模式及SharedPrefenences单例模式的封装
- Java 多线程下的单例模式
- Java 多线程下的单例模式
- Java 多线程下的单例模式
- 多线程下的C++ 单例模式
- 多线程下的单例模式
- 多线程下的单例模式
- Java 多线程下的单例模式
- 多线程下的单例设计模式
- Java 多线程下的单例模式
- Java 多线程下的单例模式
- Java 多线程下的单例模式
- Java 多线程下的单例模式
- 多线程下的单例模式
- 关于消息队列的使用----ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ
- c++第五次实验
- Difference between $.extend and $.fn.extend
- Plug-in 对话框
- 类加载的过程(详细)
- 单例模式 (两种)及多线程下的优化
- JSON介绍及Android最全面解析方法(Gson、AS自带org.son、Jackson解析)
- 一句话讲明白 pthread_key_t和pthread_key_create()
- 手把手教你如何加入到github的开源世界!
- C++——必须使用复制构造函数的情况
- iOS: 富文本AttributedString的详解
- maven jetty 输出中文乱码
- Python Base64 模块 实现NC文件 转换 文本文件
- IMWeb小白十天-结业作业