首页 > 代码库 > 设计模式_单例模式
设计模式_单例模式
回顾基础知识,温故而知新。
单例模式有饿汉模式和懒汉模式
1 package com.xiaoysec.designpattern; 2 /** 3 * 4 * @author xiaoysec 5 *本例是展示java单例模式中的饿汉模式 6 *饿汉模式 特点: 类加载的速度比较慢(在类加载的过程中创建唯一的实例对象) 运行的速度会比较快 线程安全 7 */ 8 9 public class Singleton {10 //将构造方法定义为私有 防止外部创建新的实例对象11 private Singleton(){}12 13 //private static修饰 在类加载时就创建唯一的实例对象 14 private static Singleton instance = new Singleton();15 16 //public static修饰 外部调用以获取实例对象的引用17 public static Singleton getInstance(){18 return instance;19 }20 public static void main(String[] args){21 Singleton instance = Singleton.getInstance();22 Singleton instance2 = Singleton.getInstance();23 if(instance == instance2){24 System.out.println("是相同的对象");25 }26 else27 System.out.println("不是相同的对象");28 }29 30 }
1 package com.xiaoysec.designpattern; 2 /** 3 * 4 * @author xiaoysec 5 *本例主要展示java单例模式中的懒汉模式 6 *懒汉模式的特点是 在类加载是并不创建实例对象 类加载的速度比较快但是运行的速度会比较慢(对象创建)线程不安全 7 */ 8 public class Singleton2 { 9 private Singleton2(){}10 11 12 private static Singleton2 instance = null;13 14 15 public static Singleton2 getInstance(){16 if(instance==null){17 instance = new Singleton2();18 }19 return instance;20 }21 public static void main(String[] args){22 Singleton2 instance1 = Singleton2.getInstance();23 Singleton2 instance2 = Singleton2.getInstance();24 if(instance1 == instance2){25 System.out.println("是同一个对象");26 }else27 System.out.println("不是同一个对象");28 }29 30 }
设计模式_单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。