常见的Java设计模式
来源:互联网 发布:sql 2005卸载 编辑:程序博客网 时间:2024/06/11 12:03
单例设计模式的4中模式:
懒汉式:
public class SingleInstance{ privte SingleInstance(); private static final SingleInstance instance= null; public static SingleInstance getInstance(){ if(instance ==null){ synchronized(SingleInstance.class){ if(instance==null){ instance= new SingleInstance(); } } } return instance; }}
饿汉式:
public class SingleInstance{ private SingleInstance(){}; private static final SingleInstance instance = new SingleInstance(); Public static SingleInstance getInstance(){ return instance; }}
静态内部类:
public class SingleInstance{ private SingleInstance(); private static class Singleton{ private static final SingleInstance instance = new SingleInstance(); } public static SingleInstance getInstance(){ return Singleton.instance; }}
枚举:
public enum SingleInstance{ INSTANCE; public void SingleTon(){ }}
在饿汉式中,它是在类加载的时候创建,线程是安全的。而懒汉式是不安全的,它是需要想用的时候再创建,不用的时候不创建。
怎样才能使懒汉式可以变成安全的呢,可以通过双重锁的机制来让它变得安全,也就是帮它加锁。当为空的时候,再判断该单例.class。然后再次判断是否为空,如果为空,则才创建单例,这样就可以避免多次创建的原因。
阅读全文
0 0
- java常见的设计模式
- 常见的Java设计模式
- java常见的设计模式
- 常见的Java设计模式
- Java 常见设计模式
- Java 常见设计模式
- JAVA常见设计模式
- java常见设计模式
- Java常见设计模式
- Java常见设计模式
- java中常见的设计模式
- java中几种常见的设计模式
- JAVA中集中常见的设计模式
- JAVA 几种常见的设计模式
- java中几种常见的设计模式
- JAVA几种常见的设计模式
- java中常见的设计模式
- 23种常见的java设计模式
- mysql常用操作汇总
- cacti监控使用
- ACM DP 最长公共子序列Lcs
- Linux网络编程(二)TCP协议通信
- 排序算法总结篇(一)
- 常见的Java设计模式
- Java 语言基础 程序练习
- Java传统的时间格式化的线程安全问题
- 3DSlicer14:Loadable Module
- python中通过字符串调用同名函数
- linux socket
- JVM系列三:JVM参数设置、分析
- Sublime Text 3 注册码
- Java类的基本运行顺序