您的位置:首页 > 编程语言 > Java开发

《java设计模式总结》常见的五种单例设计模式实现方法

2016-08-22 21:02 225 查看


常见的五种单例设计模式实现方法

主要:
1.饿汉式(线程安全,调用效率高。但是,不能实现延迟加载)
2.懒汉式(线程安全,调用效率不好。但是,可以实现延迟加载)
其他:
3.双重检测锁式(由于JVM底层内部模型原因,偶尔出现问题,不建议使用,知道就行
4.静态内部类式(线程安全,调用效率高。可以实现延时加载)
5.枚举式(线程安全,调用效率高,不能延迟加载,并且可以天然的防止反射和反序列化漏洞!)

饿汉式和懒汉式的区别:


从名字上来说,饿汉和懒汉

饿汉就是类一旦加载,就把单例初始化化完成,保证调用get方法的时候,单例已经存在而懒汉式比较懒,只用当调用get方法时,才回去初始化这个单例。

什么是线程安全:


如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。

或者说:一个类或者程序所提供的接口对于线程来说是原子操作,或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题,那就是线程安全的。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息