首页 > 代码库 > 单例模式
单例模式
单例模式:
把构造函数私有化在类内提供本类的静态对象,然后通过静态方法将该对象返回从而保证了在整个的过程中只有一个对象的存在
饿汉式:
在类加载的时候就顺便把本类对象初始化的形式。
懒汉式:
先定义好对象,在调用方法的时候在初始化这个对象的方式。推迟了初始化。
区别:
饿汉式由于一上来就初始化对象,可能会导致内存的耗费。
懒汉式会有多线程的并发安全问题
1 public class SingletonDemo { 2 3 @SuppressWarnings("unused") 4 public static void main(String[] args) { 5 TaskManager tm = TaskManager.getInstance(); 6 } 7 8 } 9 10 class TaskManager { 11 12 // 任务管理器在整个过程中只有一个---不允许在类外创建对象 13 // 私有化构造函数 14 private TaskManager() { 15 } 16 17 // 唯一 18 // 在类初始化的时候就把本类的静态对象初始化的形式---饿汉式 19 // 只有一个实例 20 // private static TaskManager tm = new TaskManager(); 21 //先定义好兑现,在调用具体方法的时候才去初始化这个对象的方式---懒汉式(会出现多线程并发安全问题) 22 private static TaskManager tm ; 23 24 public static TaskManager getInstance() { 25 if (tm == null) { 26 tm = new TaskManager(); 27 } 28 return tm; 29 } 30 }
单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。