单例模式:懒汉式和饿汉式
1.饿汉式----模式代码
饿汉式就是先实例,只要是类一加载,那么次对象就存在。

返回true,说明只有一个对象。
2.懒汉式----模式代码
类一加载,不会先实例,首先是空值,在调用返回对象的方法中实例,一调用方法实例对象才存在。
![XZ0[KU(%4CA`LKOLMVHD]_3.jpg 184415422.jpg](https://i-blog.csdnimg.cn/blog_migrate/bb851125aa603d4cf1bc774e35ef2e7e.jpeg)
返回true,只有一个对象。不过多线程中,试用这种懒汉式可能会实例化对象失败。所以有安全隐患。
不过还是有办法解决,加锁。如下:

在以后的开发中,饿汉式用的比较多,这样加上锁后,增加安全性,判断次数也比较少,那么效率也不会变小。先判断,然后判断进锁。
转载于:https://blog.51cto.com/3126217/1318715