java学习阶段一 单例化
java学习阶段一 单例化
介绍
设计模式时基于场景的解决方案 是面对一些难题中前辈们提供的和为人们认可的解决方案
基本知识
介绍其中一个模式
单例模式:使得该类中的一个对象成为该类系统中唯一的实例
-
要点
1 某个类只能有一个实例
2 必须自行创建实例
3 必须自行向整个系统提供这个实例
-
实现
1 只提供私有的构造方法
2 含有一个该类的静态私有对象
3 提供一个静态的公有方法用于创建,获取静态私有对象
-
饿汉式(着急)
private 方法名(){}//私有化构造方法 private static 方法名 唯一对象名 = new 方法名;//静态实例 public static 类名(返回类型) 方法名(){返回对象}
-
懒汉式(需要时再用)
private 方法名(){}//私有化构造方法 private static 方法名 唯一对象名 = null;//空的静态实例 public static 类名(返回类型) 方法名(){ //多出一个如果对象为空 则创建将引用指向对象 }
注意事项
懒汉式因为在运行中创建对象,所以在多线程存在风险
缺点:
1拓展困难
2实例化后长期不用可能被回收导致丢失