摘要:
概述 看这个类名CopyOnWriteArrayList继承ArrayList,通过查看类声明CopyOnWriteArrayList和ArrayList不存在继承关系。两个类的特点:1)都继承List接口,是List接口实现类。2)底层存储数据都采用数组 3)添加元素操作且ArrayList.si 阅读全文
摘要:
概述 LinkedList采用底层采用双向链表结构,与ArrayList的数组结构不一样。LinkedList因数据结构不一样,不需要申请连续内存,可以利用碎片内存。元素保存数据内容外还需要存储上下游的引用,形成数据链。LinkedList是非线程安全的。 类图 size变量 与ArrayList的 阅读全文
摘要:
List概述 List是一个列表结构抽象定义,有序的,可对其中每个元素的插入位置进行精确地控制,可以通过索引来访问元素,遍历元素。包括函数的有:添加元素,删除元素,判断是否包含元素等等重要函数。 ArrayList 概述 ArrayList的底层数据结构是用数据结构实现得,申请的内存是连续得,访问数 阅读全文
摘要:
类图 Filter链 在ProtocolFilterWrapper对象中完成Filter完成组建。 实现代码 阅读全文
摘要:
设计原则 1. 多用组合,少用继承 2. 针对接口编程,不针对实现编程 3. 依赖抽象,不要依赖具体实现类。 设计模式 1. 策略设计模式:Dubbo扩展Spring的xml标签解析 2. 装饰者设计模式:Invoker链组建 3. 模板设计模式:一般的机制都有,抽象父类定义使用流程,子类根据业务需 阅读全文
摘要:
背景 调用对象!在调用过程可以使用Filter接口方法。Inovoker调用过程采用了装饰者设计模式。Filter最后一个ExcpetionFilter对象,这个对象之后就调用服务方法。服务对象是配置在Spring xml文件中,要通过BeanFactory对象找到目标对象。再找相应的方法,整个服务 阅读全文
摘要:
roxyFactory将对外开放的服务进行封装。这里使用到代理的方式。ProxyFactory接口有两个不同的实现类:JavassistProxyFactory和JdkProxyFactory。JdkProxyFactory是基于JDK的动态代理机制实现的。只能针对方法级别的代理。Javassist 阅读全文
摘要:
Server接口是开启一个socket服务。服务实现有netty,mina,grizzly的。 抽象时序图 获取NettyServer时序图 Transporter类图 Server 类图 阅读全文
摘要:
实现此接口获取Server服务。 实现的类只有HeaderExchanger类。 方法 时序图 阅读全文
摘要:
定义了通过URL对象作为参数获取Executor对象的getExecutor方法。所有实现ThreadPool接口的类都是基于ThreadPoolExecuotr对象来实现的。 类图 阅读全文