JAVA单例模式
来源:互联网 发布:淘宝能部分退款吗 编辑:程序博客网 时间:2024/05/16 10:26
一:单例模式
单例模式主要有四种实现方式
1:懒汉式
package test;public class SingleTon { private static SingleTon singleTon = null; private SingleTon() { }; // 懒汉式 线程不安全 public static SingleTon getSingleTon() { if (singleTon == null) { singleTon = new SingleTon(); } return singleTon; } // 懒汉式 线程安全(但是每次访问)getSingleTon2都会在类上加锁,效率非常低 public static synchronized SingleTon getSingleTon2() { if (singleTon == null) { singleTon = new SingleTon(); } return singleTon; } // 懒汉式 线程安全 先判断一次 如果为空 在类上加锁,然后再里面的判断是有几个线程进入 // 了第一个判断,但是只能走一个,走的这一个进行判断为空就创建,然后后面进入第一个空判断的线程 // 再判断就是存在的了。 public static SingleTon getSingleTon3() { if (singleTon == null) { synchronized (SingleTon.class) { if (singleTon == null) { singleTon = new SingleTon(); } } } return singleTon; } // 静态内部类 静态内部类只在类第一次加载是被加载,所以是线程安全的。private SingleTon(){} private static class LazyClass { private static final SingleTon SINGLE_TON = new SingleTon(); } public static final SingleTon getSINGLE_TON() { return LazyClass.SINGLE_TON; } //恶汉加载 private static final SingleTon TON = new SingleTon(); private static SingleTon getSingleTon4(){ return TON; }}
0 0
- java单例模式
- Java单例模式
- java单例模式
- java单例模式
- Java单例模式
- Java单例模式
- java单例模式
- Java单例模式
- java 单例模式
- java单例模式
- java单例模式
- java单例模式
- java 单例模式
- JAVA单例模式
- java单例模式 .
- Java 单例模式
- Java单例模式
- Java 单例模式
- 冒泡排序原理
- 并发1:任务与线程
- 中文TeX的编辑环境推荐
- Python正则分组
- 英语字母的象形意义及单词记忆应用
- JAVA单例模式
- [文档教程] 全球首个微信应用号开发教程!
- CodeChef FEB16 数组
- [Leetcode] Unique Paths
- Webpack自动化模块加载及构建#2
- 《C# 入门经典》
- GLSL基础
- ThinkPHP add()写入返回值
- Ruby #笨方法学Ruby#习题12 require includ load extend的差异