设计模式:单例

来源:互联网 发布:windows 直接登录 编辑:程序博客网 时间:2024/06/10 03:44

优点

  • 只有一个实例,节约内存
  • 不用重复生成实例,减少系统性能开销
  • 可以全局的资源共享站点

缺点

  • 如果手中一直握着某个对象,会导致其无法被回收, 容易造成内存泄漏

实现

最容易的方式

public class A{private static A instance;//单例public static synchronized A getInstance(){    if(instance == null){        instance = new A();    }    return instance;}}

枚举单例

在java中枚举和class一样,有属性有方法,并且是线程安全的。最NB的是在枚举状态下这个单例是无法通过反序列化构造的,也就是不可复制了。

public enum A{    INSTANCE;    public void todo(){/../}}
原创粉丝点击