设计模式
_Mr. White
这个作者很懒,什么都没留下…
展开
-
面试系列~动态代理实现与原理
动态代理有JDK动态代理, CGLIB动态代理, SpringAOP动态代理一,JDK动态代理 jdk动态代理采用的是字节码重组的方式实现的, 即重新生成一个对象来代替原来的对象, 它的实现原理如下: (1)通过反射获取被代理对象, 以及它的所有的接口的引用 (2)动态生成java源代码, 在代码中加入需要增强的逻辑并且调用被代理类的方法, 同时新的类要实现被代理类实现的所有接口, 由(1)中获取的就可以编写 (3)编译动态生成的.java文件, 从而生成.class文件 (4)将.cl原创 2021-02-09 17:17:07 · 242 阅读 · 0 评论 -
面试系列~原型模式适用范围
原型模式是指原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。原型模式主要适用于以下场景1)类初始化消耗资源较多,2)使用 new 生成一个对象需要非常烦琐的过程(数据准备、访问权限等),3)构造函数较复杂.4)在循环体中产生大量对象,...原创 2021-02-09 11:55:24 · 917 阅读 · 0 评论 -
单例模式
简介单例模式可以用在建立目录、数据库连接等需要单线程操作的场合,用于实现对系统资源的控制表现形式1 .饿汉式单例模式public class Singleton { //类在加载时就生成一个静态实例且私有 private static Singleton myInstance = new Singleton(); //构造方法私有,保证外界无法直接实例化 private Singleton(){ } //获得实例对象的方法设为公有 public原创 2021-02-04 22:32:08 · 58 阅读 · 0 评论 -
工厂模式
工厂方法模式在工厂方法模式中,共涉及以下4个角色。抽象工厂角色,具体工厂角色,抽象产品角色,具体产品角色抽象工厂public interface Creator{ /** 工厂方法 创建一个产品对象,其输入参数类型可以自行设置 */ public <T extends Product> T factory(Class<T> c);}抽象产品public interface Product{ //产品类的公共方法原创 2021-02-04 22:31:26 · 158 阅读 · 1 评论