![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
景川呀
写博客主要是为了记录自己的学习过程并加深印象
展开
-
Java单例---序列化破坏单例模式原理解析
什么是单例模式?单例保证一个对象JVM中只能有一个实例这里提供一个双重锁校验单例,并且引出了序列化破坏的问题,本篇来说一下这个原理和解决首先把上一篇的单例代码拿过来贴上:/** * 双重锁校验的单例 */public class DoubleLock implements Serializable{ public static volatile DoubleLock dou...原创 2018-11-21 17:22:52 · 1239 阅读 · 0 评论 -
Java单例---反射攻击破坏单例和解决方法
之前写过几篇单例的文章:Java单例—双重锁校验详解Java单例—序列化破坏单例模式原理解析Java单例—静态内部类在静态内部类中引出了反射攻击的问题,本篇就来说一下反射攻击,废话不多少说上代码:import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;public...原创 2018-11-22 11:36:43 · 4352 阅读 · 8 评论 -
Java单例---双重锁校验详解
双重锁校验单例什么是单例模式?单例保证一个对象JVM中只能有一个实例直接上代码吧:/** * 双重锁校验的单例 */public class DoubleLock { public static volatile DoubleLock doubleLock = null;//volatile防止指令重排序,内存可见(缓存中的变化及时刷到主存,并且其他的内存失效,必须从主存获...原创 2018-11-21 16:02:03 · 6257 阅读 · 4 评论 -
Java单例---静态内部类
之前写过一篇双重锁校验单例,这是延迟加载的一种单例模式,俗称懒汉模式,这次写一个静态内部类的单例,这个写法天生线程安全,并且引出反射攻击,废话不多说,上代码:public class StaticInnerClass { private static class InnerClass{ private static StaticInnerClass staticInne...原创 2018-11-22 10:23:02 · 2331 阅读 · 0 评论 -
模板方法模式
模板模式原创 2022-03-17 16:54:56 · 463 阅读 · 0 评论