改掉自己不写博客的习惯,begin
单例模式相信每个程序员都不陌生,单例模式顾名思义就是控制实例的数量,节省内存,全局访问,线程安全,单例模式分为懒汉模式饿汉模式。
最简单的是懒汉模式:看图
多线程同时调用生成多个实例,线程不安全就是用synchronize,同一时刻只能有一个线程调用该方法。
双重检查锁
先给mInstance分配内存空间,调用构造方法初始化,最后将mIstance指向分配的内存空间,初始化时如果耗时出现错误,则mInstance则出错,volatile锁可以使执行顺序不会错乱
饿汉模式:
饿汉模式每次调用getInstance都会出现一个新的实例在内存中,浪费资源。
静态内部类:
每次只有调用getInstance时候才会初始化新的nInstance。
枚举法占用内存多不推荐使用就不写了。