【单例模式】饿汉式&懒汉式
来源:互联网 发布:云平台软件 编辑:程序博客网 时间:2024/04/27 19:14
之前学习单例模式,现在回忆了一下,记录下关于单例模式的写法:
懒汉式:
- public class Singleton {
- /*
- * 单例模式:单个实例服务于整个应用
- * 懒汉式单例:只有在第一次请求实例的时候创建,并且只在第一次创建后,以后不再创建该类的实例
- */
- // 1.一个私有的指向自己的静态变量
- private static Singleton instance;
- // 2.私有的构造方法,保证不能从外部创建对象
- private Singleton(){}
- // 3.公开的静态工厂方法,返回该类的唯一实例(当发现没有实例没有初始化的时候才初始化)
- public static Singleton getInstance(){
- if(instance == null){
- instance = new Singleton();
- System.out.println("创建Singleton类的实例");
- }else {
- System.out.println("实例已经创建,不能再创建");
- }
- return instance;
- }
- }
- // 测试类
- class Test{
- public static void main(String[] args) {
- Singleton s = Singleton.getInstance();
- System.out.println(Singleton.getInstance());
- System.out.println(Singleton.getInstance());
- System.out.println(Singleton.getInstance());
- }
- }
饿汉式:
- public class Singleton2 {
- /*
- * 恶汉单例模式:在类加载的时候就创建一个单例模式.
- */
- // 1.私有的构造函数,确保不能在类的外部访问该类的构造函数
- private Singleton2(){
- System.out.println("构造函数执行了");
- }
- // 2.私有的唯一的静态实例变量,在类加载的时候就创建好单例对象
- private final static Singleton2 instance = new Singleton2();
- // 3.公开的静态工厂返回此类的唯一实例
- public static Singleton2 getInstance(){
- return instance;
- }
- }
- // 测试类
- class Test2{
- public static void main(String[] args) {
- Singleton2 s = Singleton2.getInstance();
- System.out.println(s);
- Singleton2 s2 = Singleton2.getInstance();
- System.out.println(s2);
- System.out.println(Singleton2.getInstance());
- System.out.println(Singleton2.getInstance());
- }
- }
- 单例模式 饿汉式 懒汉式
- 【单例模式】饿汉式&懒汉式
- 懒汉式 && 饿汉式 的单例模式
- 单例模式-饿汉式和懒汉式
- 单例设计模式 饿汉式 懒汉式
- 单例设计模式-饿汉式-懒汉式
- 单例模式(懒汉式和饿汉式)
- 【单例模式】饿汉式&懒汉式
- 单例模式(饿汉式&懒汉式)
- 单例模式 饿汉式与懒汉式
- 常用单例模式:饿汉式&懒汉式
- 单例设计模式:饿汉式,懒汉式
- 单例模式 懒汉式 饿汉式
- 单例模式-懒汉式、饿汉式Demo
- 单例模式饿汉式懒汉式
- 单例模式(懒汉式和饿汉式)
- 单例模式---懒汉式
- 单例模式-懒汉式
- CodeSmith中SchemaExplorer类API文档2
- 2012年8月24日
- SQL Server数据库简体繁体数据混用的问题
- Java抽象类分析
- 关于Session
- 【单例模式】饿汉式&懒汉式
- hdu 1027 字典序全排列
- Javascript性能优化
- 关于手机浏览器用户群的思考
- 芯片缺货影响全球智能手机商
- SED单行脚本快速参考
- 浅聊这2个月的学习
- awk 正则表达式、正则运算符详细介绍
- 全双工/半双工的几个概念