Singleton的7种实现
来源:互联网 发布:如何判断域名被劫持 编辑:程序博客网 时间:2024/06/07 22:58
随便写写,万一将来碰到呢,也有个印象不是
两个概念:
懒汉式:lazy,很多地方都有这个词,延时加载-即用到的时候才去创建单例的实例。非线程安全。
恶汉式:加载类的时候就创建好唯一实例。恶汉式是线程安全的,因为类只会被加载一次。
public class TestSingleton { public static void main(String[] args){ System.out.println(Singleton1.getInstance().toString()); } static class Singleton1{ private static Singleton1 instance; private Singleton1(){ } public static Singleton1 getInstance(){ if (instance == null){ instance = new Singleton1(); } return instance; } } static class Singleton2{ private static Singleton2 instance = new Singleton2(); private Singleton2(){ } public static Singleton2 getInstance(){ return instance; } } static class Singleton3{ private static Singleton3 instance; private Singleton3(){ } static { instance = new Singleton3(); } public static Singleton3 getInstance(){ return instance; } } static class Singleton4{ private static Singleton4 instance; private Singleton4(){ } public static synchronized Singleton4 getInstance(){ if (instance == null){ instance = new Singleton4(); } return instance; } } static class Singleton5{ private static final class InnerClass{ public static final Singleton5 INSTANCE = new Singleton5(); } public static Singleton5 getInstance(){ return InnerClass.INSTANCE; } } static class Singleton6{ private static volatile Singleton6 instance; private Singleton6(){ } public static Singleton6 getInstance(){ if (instance == null){ synchronized (Singleton6.class){ if (instance == null){ instance = new Singleton6(); } } } return instance; } } public enum Singleton7{ INSTANCE; }}
阅读全文
0 0
- Singleton的7种实现
- Singleton 的两种实现
- singleton的两种实现
- Singleton的几种实现
- 关于singleton模式的几种实现。
- Singleton模式的几种实现方式
- Singleton的两种不同实现方法.
- Singleton Pattern 两种实现的选择
- 几种Singleton模式的java实现
- singleton模式的几种实现
- Java Singleton的5种实现
- Java Singleton的5种实现
- singleton模式的几种实现方式
- Singleton模式的两种实现模式
- Singleton的安全实现!
- Singleton的各种实现
- Singleton 的使用实现
- Singleton的各种实现
- React Native未来导航者:react-navigation 使用详解
- 表达式计算
- 7 firewalld打开关闭防火墙与端口
- 9 种改善 AngularJS 性能的方法
- ORM的概念, ORM到底是什么
- Singleton的7种实现
- spring事务和myBatis事务的设置
- Mybatis的搭建
- Jdata大数据竞赛总结
- linux内核 address_space 结构
- 操作系统复习-4.1 文件系统基础
- CRUD:增加(Create)、读取查询(Retrieve)、更新(Update)和删除(Delete)
- 1327: 表达式计算
- Android笔记(1)layout类似按钮的按下状态