1 课堂解析 2 代码演练 2.1 枚举类单例解决序列化破坏demo 2.2 枚举类单例解决序列化破坏原理 2.3 枚举类单例解决反射攻击demo 2.4 枚举类单例解决反射攻击原理 3 jad的使用 3.1 网址: 1 课堂解析 2 代码演练 2.1 枚举类单例解决序列化破坏demo 枚举类: package com.geely.design.pattern.creational.singleton; /** * 这个类是enum类型 */ public enum EnumInstance {…
1. 图解 上图主要描述了Cglib动态代理的主要执行过程,下面做详细分析,以下源码使用的Cglib版本为3.2.12. 2. Enhancer源码分析 public Object create() { // 判断是否需要创建对象,false表示需要创建对象 classOnly = false; // 使用的是无参构造函数,参数为null argumentTypes = null; // 创建动态代理class的方法 return createHelper(); } ...//此处省略 priv…
1. 图解 上图主要描述了JDK动态代理的执行过程,下面做详细分析. 2. Proxy源码分析 上一篇,在使用JDK动态代理的时候,借助于Proxy类,使用newProxyInstance静态方法,创建了动态代理对象,这个方法接收三个参数,分别是目标类的类加载器.目标类实现的接口数组.自定义的InvocationHandler类,下面从该方法开始,详细分析该类如何生成的.本文所用JDK版本为1.8.0_161,为了保留源码英文注释的原汁原味,未对英文注释做删减,并在代码后面加注中文注释. pub…
简单记录 - 慕课网 Java设计模式精讲 Debug方式+内存分析 & 设计模式之禅-秦小波 文章目录 1.原型模式的定义 原型-定义 原型-类型 2.原型模式的实现 原型模式的通用类图 原型模式通用源码 3.原型模式的使用场合 4.原型模式的应用 原型模式-优点 原型-缺点 原型模式的注意事项 构造函数不会被执行 浅拷贝和深拷贝 clone与final两个冤家 原型-扩展 5.设计原则 6.最佳实践 7.总结 原型模式(Prototype Pattern)的简单程度仅次于单例模式和迭代器模式…
1 代码演练 1.1 建造者模式演练 1.2 静态内部类演练建造者模式(链式调用) 1 代码演练 1.1 建造者模式演练 需求: 根据讲师提供的课程名称,课程ppt,课程视频,课程手记,课程问答 制作教学课程. 重点: 教练类coach.java标红部分,builder设值,然后赋值(看test.java). uml类图: 测试类: package com.geely.design.pattern.creational.builder; public class Test { public st…
1 代码演练 1.1 代码演练1 1.2 代码演练2(后端课程子类运用钩子方法,加入写手记的方法) 1.3 代码演练3(前端有多个子类,有得需要写手记,有得不需要写,如何实现?) 1 代码演练 1.1 代码演练1 目的: 木木网制作课程视频父类,前端课程子类和设计模式子类.父类需要制作PPT,制作视频,制作手记,包装课程四个部分,且步骤基本一致,其中制作PPT和制作视频都一致,前端子类和后端子类包装课程方法不一样. uml类图: 测试类: package com.geely.design.pat…
1 源码解析 1.1 单例解析1 1.2 单例解析2(容器单例) 1.3 单例解析3 1.4 单例解析4 1 源码解析 1.1 单例解析1 java.lang.Runtime /** * 饿汉式加载,初始化的时候,就已经new出了对象 */ private static Runtime currentRuntime = new Runtime(); /** * Returns the runtime object associated with the current Java applicat…
简单记录 - 慕课网 - Java设计模式精讲 Debug方式+内存分析 文章目录 第2章 UML急速入门 2-1.UML简单入门 UML定义 UML特点 UML 2.2分类 UML类图 理解泛化.实现 理解依赖.关联 理解聚合.组合 UML时序图 2-2.UML类 图讲解 2-3.UML类图讲解 自上而下 2-4.UML类图讲解 - 对比讲解联想记忆 第2章 UML急速入门 主要讲解UML基础.UML类图.UML类关系.UML时序图.UML类关系记忆技巧等,让大家急速入门UML,从而为后面设计…
单例的意思从字面上就可以略知一二,所谓单例就是确保在程序运行过程中只创建一个对象实例.可以用于需要被多次广泛或者说多次使用的资源中,比如我们常见的网络请求类.工具类以及其它管理类等.比如我iOS开发中常见的系统单例[UIApplication sharedApplication].[NSUserDefaults  standardUserDefaults]等.在iOS开发中,单例模式是非常有用的一种设计模式.如下图,是一个简单的例模式的UML类图. 一.使用单例模式的作用 它可以保证某个类在程序…
本文继续介绍23种设计模式系列之单例模式. 我们在javaSE的基础学习中,会讲到:单例设计模式.模板设计模式.装饰者设计模式.观察者设计模式.工厂设计模式 我以后随着水平的提高,我会专门开个分类写设计模式的.现在请原谅我的知识面有限-- 设计模式→中的    "模式" 二字是什么意思.. 模式:模式就是解决 一类 问题的固定步骤 . 模式的概念最早起源于建筑行业....建房子的步骤都是一样子: 打地基-----> 浇柱子------->盖楼面--------->砌墙…