[置顶] 枚举防止反射,克隆及序列化破环单例模式的原理

摘要: 在上一篇文章中详细的介绍了实现单例模式的几种方式,以及介绍了通过反射,克隆及序列化方式对单例模式的破并给出了各自预防的对策。其中也指出了枚举是能够防止这三种方式对单例的破环。 首先我们都知道enum默认继承了 java.lang.Enum 类并实现了 java.lang.Seriablizable 阅读全文

posted @ 2019-07-19 19:00 叫我鹏爷 阅读(2561) 评论(2) 推荐(1) 编辑

2020年1月16日

设计模式的分类及功能划分

摘要: 设计模式有两种分类方法,即根据模式的目的来分和根据模式的作用的范围来分。 一、根据目的来分;通过完成什么工作划分为创建型模式、结构型模式和行为型模式 3 种类型 1、创建型模式:作用于对象的创建,将对象的创建与使用分离。其中囊括了单例、原型、工厂方法、抽象工厂、建造者5 种创建型模式。 2、结构型模 阅读全文

posted @ 2020-01-16 17:26 叫我鹏爷 阅读(4149) 评论(1) 推荐(3) 编辑

2019年7月11日

单例模式的实现方式及如何有效防止防止反射和反序列化

摘要: 方式一:饿汉式(静态常量) 测试用例: 运行结果: 优点: 缺点: 方式二:饿汉式(静态代码块) 测试用例: 运行结果: 这种实现方式优缺点和方式一是一样的,也是利用了类加载,唯一不同的就是将实例化的过程放在了静态代码块中。 方式三:懒汉式(线程不安全) 测试代码: 运行结果: 从两次运行结果来看, 阅读全文

posted @ 2019-07-11 18:18 叫我鹏爷 阅读(5426) 评论(5) 推荐(4) 编辑

2019年7月5日

oracle插入CLOB类型超过4000个字符报ORA-01704错的解决方法及其它相关场景解决方案

摘要: 最近有位朋友问我:开发中向CLOB字段存储string时报了ORA-01704的错误不知道怎么解决。首先造成这个问题的原因相信大家都明白,就是因为插入的字符串过长导致,因为oracle在插入CLOB的数据默认会以varchar2的类型插入,所以当超过4000个字符时就会报ORA-01704的错误了( 阅读全文

posted @ 2019-07-05 10:38 叫我鹏爷 阅读(16494) 评论(0) 推荐(0) 编辑

导航