个人简介

Echo Blog


江湖无名 安心练剑
  • Netty 权威指南-07-Netty example 例子学习
    netty.example 包 可以直接参见 https://netty.io/4.1/xref/overview-summary.html 以 netty.example 开头的包。 netty 学习的难点 国内的资料较少,书籍其实也不多。 netty 官网的 document 内容其实不多,就是前面提到的几节。 可以说,netty 和 java nio 一样,入门相对容易,...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-06-使用 POJO 代替 Bytebuf
    情景导入 学习了前面的基础信息,我们发现我们的大部分内容都是基于 Bytebuf 去处理的。 对于 java 这一门 OO 的语言而言,我们更加习惯的是使用 Pojo 去处理。 代码示例 对象定义 UnixTime.java public class UnixTime { private final long value; public UnixTim...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-05-拆包和粘包
    TCP为什么会粘包/拆包 我们知道,TCP是以一种流的方式来进行网络转播的,当tcp三次握手建立通信后,客户端服务端之间就建立了一种通讯管道,我们可以想象成自来水管道,流出来的水是连城一片的,是没有分界线的。 TCP底层并不了解上层的业务数据的具体含义,它会根据TCP缓冲区的实际情况进行包的划分。 所以对于我们应用层而言。 我们直观是发送一个个连续完整TCP数据包的,而在底层就可能会...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-04-为什么选择 Netty?Netty 入门教程
    JDK 编程 感受了上面的 java 中的 BIO/NIO/AIO 详解,不知道你是否觉得 jdk 直接编程非常麻烦? 还有很多情况需要去考虑处理,还有性能相关的问题、稳定性问题,拓展性问题。 不选择Java原生NIO编程的原因 现在我们总结一下为什么不建议开发者直接使用JDK的NIO类库进行开发,具体原因如下。 (1) NIO的类库和API繁杂,使用麻烦,你需要熟练掌握Selec...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-03-AIO 案例
    JDK AIO jdk7中新增了一些与文件(网络)I/O相关的一些api。这些API被称为NIO.2,或称为AIO(Asynchronous I/O)。 AIO最大的一个特性就是异步能力,这种能力对socket与文件I/O都起作用。 实现方式 Future 方式 即提交一个 I/O 操作请求(accept/read/write),返回一个 Future。 然后您可以对...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-02-NIO 案例
    NIO 基本概念 Buffer Java NIO Buffers用于和NIO Channel交互。正如你已经知道的,我们从channel中读取数据到buffers里,从buffer把数据写入到channels. buffer 本质上就是一块内存区,可以用来写入数据,并在稍后读取出来。 这块内存被NIO Buffer包裹起来,对外提供一系列的读写方便开发的接口。 Channel ...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-01-BIO 案例
    java 的 IO 演进之路 我们在前面学习了 linux 的 5 种 I/O 模型详解 下面我们一起来学习下如何使用 java 实现 BIO/NIO/AIO 这 3 种不同的网络 IO 模型编程。 BIO 编程 BIO 作为最基础的 IO 版本,实现起来比较简单。 Server import java.io.BufferedReader; import java.io.IO...
    2019-05-10 03:08:59 | Netty
  • Netty 权威指南-00-overview
    Netty 权威指南学习目的 可以结合 dubbo,自己实现一份 dubbo。 作为 hades 单机版,mq 以及数据库的基础。 基础知识 java 网络编程概览 java nio 系列 netty in action 系列学习 java concurrency 系列 jcip 系列 UNIX 5 种数据模型 BIO BIO NIO 理解 nio IO ...
    2019-05-10 03:08:59 | Netty