java学习阶段一 单例化

java学习阶段一 单例化

介绍

设计模式时基于场景的解决方案 是面对一些难题中前辈们提供的和为人们认可的解决方案

基本知识

介绍其中一个模式

单例模式:使得该类中的一个对象成为该类系统中唯一的实例

  • 要点

    1 某个类只能有一个实例

    2 必须自行创建实例

    3 必须自行向整个系统提供这个实例

  • 实现

    1 只提供私有的构造方法

    2 含有一个该类的静态私有对象

    3 提供一个静态的公有方法用于创建,获取静态私有对象

  • 饿汉式(着急)

    private 方法名(){}//私有化构造方法
    private static 方法名 唯一对象名 = new 方法名;//静态实例
    public static 类名(返回类型) 方法名(){返回对象}
    
  • 懒汉式(需要时再用)

    private 方法名(){}//私有化构造方法
    private static 方法名 唯一对象名 = null;//空的静态实例
    public static 类名(返回类型) 方法名(){
        //多出一个如果对象为空 则创建将引用指向对象
    }
    

注意事项

懒汉式因为在运行中创建对象,所以在多线程存在风险

缺点:

1拓展困难

2实例化后长期不用可能被回收导致丢失

原文地址:https://www.cnblogs.com/tigo/p/14406982.html