摘要:
Netty 中 TCP 粘包拆包问题 信息通过tcp传输过程中出现的状况 . TCP是个“流”协议,所谓流,就是没有界限的一串数据。TCP底层并不了解上层业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分,所以在业务上认为,一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小 阅读全文
摘要:
介绍: 编写网络应用程序时,因为数据在网络中传输的都是二进制字节码数据,在发送数据时就需要编码,接收数据时就需要解码 codec(编解码器) 的组成部分有两个:decoder(解码器)和 encoder(编码器)。encoder 负责把业务数据转换成字节码数据,decoder 负责把字节码数据转换成 阅读全文
摘要:
对HTTP的支持 服务端代码: 向 PipeLine中 注册 HttpServerCodec Http协议的编码解码一体的Handler 处理Http请求 封装Http响应 public class TestServer { public static void main(String[] args 阅读全文
摘要:
各组件关系示意图: Bootstrap 和 ServerBootstrap 说明: Bootstrap 意思是引导,一个 Netty 应用通常由一个 Bootstrap 开始,主要作用是配置整个 Netty 程序,串联各个组件,Netty 中 Bootstrap 类是客户端程序的启动引导类,Serv 阅读全文
摘要:
示例内容: 服务端监听6668端口 , 客户端连接 并发送信息给服务端 ,服务端收到信息打印 并返回信息给客户端 服务端代码: public class NettyServer { public static void main(String[] args) throws Exception { E 阅读全文
摘要:
概述 基于NIO 的框架,目的是简化开发NIO的工作量 异步的 ,基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序 Netty 是目前最流行的 NIO 框架,Netty 在互联网领域、大数据分布式计算领域、游戏行业、 通信行业等获得了广泛的应用 传统线程模型 和 Rea 阅读全文
摘要:
Arrays.asList 方法的坑 此方法接受可变个数的参数 构建一个ArrayList 可此ArrayList 非彼ArrayList ,他返回的是 Arrays 的一个内部类,实现了AbstractList抽象类,并只重写了 很少的一部分方法,维护了一个固定长度的数组,如果调用add 或者re 阅读全文
摘要:
ArrayList继承了AbstractList为何还要实现List接口? 相关的问题: Vector既然继承了AbstractList为啥还要实现List接口 HashMap继承了AbstractMap为何还要实现Map接口? HashSet继承了AbstractSet为何还要实现Set接口? 看 阅读全文
摘要:
Mybatis 异常 报错信息: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for map 阅读全文
摘要:
Java8新特性 学习笔记 1主要内容 1. Lambda 表达式 2. 函数式接口 3. 方法引用与构造器引用 4. Stream API 5. 接口中的默认方法与静态方法 6. 新时间日期 API 7. 其他新特性 2 简洁 1. 速度更快 修改底层Hash列表的算法, HashMap ,Has 阅读全文