摘要: Netty解决的事情 Netty主要解决两个相应关注领域。(1)异步和事件驱动的实现。(2)一组设计模式,将应用逻辑与网络层解耦。 EventLoop接口 用于处理连接的生命周期中所发生的事件。 一个EventLoopGroup包含一个或者多个EventLoop 一个EventLoop在它的生命周期阅读全文
posted @ 2018-11-25 00:47 码头工人 阅读(9) 评论(0) 编辑
摘要: 一、原始方式 方法一: 方法二: 方法三: 二、Reactor定义 关键点 事件驱动(event handling) 可以处理一个或多个输入源(one or more inputs) 通过Service Handler同步的将输入事件(Event)采用多路复用分发给对应Handler处理 处理流程 阅读全文
posted @ 2018-11-25 00:46 码头工人 阅读(7) 评论(0) 编辑
摘要: Buffer 1、缓冲区类型 2、缓冲区定义 (1)Buffer是一个对象,其中包含写入与读出的数据。 是新IO与原IO的重要区别 。任何情况下访问NIO中的数据都需要通过缓存区进行操作。 (2)Buffer在代码中体现就是一个数组,本质上就是内存中的一块区域。 Buffer源码 (1)BUffer阅读全文
posted @ 2018-11-25 00:45 码头工人 阅读(15) 评论(0) 编辑
摘要: Netty出现背景 Java NIO难用 据说存在bug 业界其他NIO框架不成熟 Netty主要解决两个相应关注领域 (1)异步和事件驱动的实现。 (2)一组设计模式,将应用逻辑与网络层解耦。 特性 统一API,适用于不同协议 基于灵活、可扩展的事件驱动模型 高度可定制的线程模型 更好的吞吐量,低阅读全文
posted @ 2018-11-25 00:43 码头工人 阅读(4) 评论(0) 编辑
摘要: 背景 1.4版本之前JAVA对IO的支持不完善。 (1)缓冲区 (2)没有Channel,只有输入与输出流 (3)同步阻塞IO(BIO) UNIX的5种IO模型 (1)阻塞IO模型 (2)非阻塞IO模型 (3)IO复用模型 (4)信号驱动IO模型 (5)异步IO Older IO与New IO 异步阅读全文
posted @ 2018-11-25 00:42 码头工人 阅读(3) 评论(0) 编辑
摘要: 设计模式六大原则 标签(空格分隔): 设计模式 单一职责 一个类,能引起其变化的原因只能有一个。如果一个类中,承担的职责越多,代码耦合度就越高,在修改需求时就会由于修改一个职责而影响另一个职责的使用。 反例: 问题:如果修改鱼吸水,就会破坏单一原则,所以就需要把类分成陆生和水生。但其实在实际项目中,阅读全文
posted @ 2018-03-31 19:16 码头工人 阅读(13) 评论(0) 编辑
摘要: DispatcherServlet UML图 本次分析:HttpServlet HttpServletBean FramworkServlet DispacherServlet ServletContext是什么? ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务阅读全文
posted @ 2018-03-31 19:05 码头工人 阅读(28) 评论(0) 编辑
摘要: 问题 在spring 中使用 @Transactional 、 @Cacheable 或 自定义 AOP 注解时,对象内部方法中调用该对象的其他使用aop机制的方法会失效。 在同一个类中的方法级别调用也会导致 aop 注解失效 原因 Spring AOP使用JDK动态代理和CGLib,由于没有接口的阅读全文
posted @ 2018-03-31 19:04 码头工人 阅读(566) 评论(0) 编辑
摘要: 静态代理与动态代理 静态代理 代理模式 (1)代理模式是常用设计模式的一种,我们在软件设计时常用的代理一般是指静态代理,也就是在代码中显式指定的代理。 (2)静态代理由 业务实现类、业务代理类 两部分组成。业务实现类 负责实现主要的业务方法,业务代理类负责对调用的业务方法作拦截、过滤、预处理,主要是阅读全文
posted @ 2018-03-31 19:00 码头工人 阅读(55) 评论(0) 编辑
摘要: 什么是建造者 建造者模式实际上是常用的设计模式。顾名思义,builder的意思是建造者或者建筑工人,谈到建造自然会想到楼房。楼房是千差万别的,楼房的外形、层数、内部房间的数量、房间的装饰等等都不一样,但是对于建造者来说,抽象出来的建筑流程是确定的,往往建筑一座楼房包括下面的步骤:(1)打桩,建立基础阅读全文
posted @ 2018-03-31 18:54 码头工人 阅读(21) 评论(0) 编辑