设计模式-单例模式
来源:互联网 发布:hbo美剧推荐知乎 编辑:程序博客网 时间:2024/05/29 07:25
java 实现单例方式
新建单例类 Single
public class Single { private Single() { } /** * * 单例模式的实现:饿汉式,线程安全 但效率比较低 */ private static final Single single= new Single(); public static Single getInstance(){ return single; } }
public class Single { private Single() { } /** * 单例模式的实现:饱汉式,非线程安全 效率低下 * */ private static Single single; public static Single getInstance(){ if(single == null){ single = new Single(); } return single; } }
public class Single { private static Single single; private Single() { } /** * 单例模式的实现:饱汉式,线程安全 效率低下 * */ private static Single single; public static synchronized Single getinstance(){ if(single ==null){ single=new Single(); } return single; }}
public class Single { private static Single single; private Single() { } /** * 单例模式的实现:饱汉式,线程安全 效率高 * */ private static Single single;public static Single getInstance(){ if(single == null){ synchronized(Single.class){ if(single == null){ single = new Single(); } } } return single; }}
public class Single { private volatile static Single single=null; private Single() { } /** * 单例模式的实现:饱汉式,线程安全 效率高 * */ private static Single single;public static Single getInstance(){ if(single == null){ synchronized(Single.class){ if(single == null){ single = new Single(); } } } return single; }}
/** * 静态内部类 优点:加载时不会初始化静态变量INSTANCE,因为没有主动使用,达到Lazy loading */class Single { private static class SingletonHolder{ private final static Single INSTANCE=new Single (); } private Single (){} public static Single getInstance(){ return SingletonHolder.INSTANCE; }}
/** * 这种方法在功能上与公有域方法相近,但是它更加简洁,无偿提供了序列化机制,绝对防止多次实例化,即使是在面对复杂序列化或者反射攻击的时候。虽然这种方法还没有广泛采用,但是单元素的枚举类型已经成为实现Singleton的最佳方法 */public enum SingletonC implements Serializable{ INSTANCE; private String field; public String getField() { return field; } public void setField(String field) { this.field = field; }}
0 0
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 设计模式-单例模式
- [设计模式] 单例模式
- 设计模式--单例模式
- 设计模式---单例模式
- 设计模式--单例模式
- 设计模式 -----单例模式
- 设计模式:单例模式
- Android中内容提供者ContentProvider的详解
- leetcode_c++:树: Flatten Binary Tree to Linked List(114)
- Android中四大组件总结
- 安卓手机下拉状态栏的代码实现
- MD5加密之提取文件的MD5特征码
- 设计模式-单例模式
- MD5加密之加密字符串
- Android应用内多进程分析和研究
- 将博客搬至CSDN
- Express开发框架的安装与配置
- 二分搜索
- 个推集成的那点事
- window系统查看端口号被占用,然后杀掉进程
- [SCOI2005]超级格雷码