对于 Netty ByteBuf 的零拷贝(Zero Copy) 的理解

2016-11-22
阅读 7 分钟
32.2k
"Zero-copy" describes computer operations in which the CPU does not perform the task of copying data from one memory area to another. This is frequently used to save CPU cycles and memory bandwidth when transmitting a file over a network.

记一次有趣的 Netty 源码问题

2016-11-08
阅读 12 分钟
5.9k
背景 起因是一个朋友问我的一个关于 ServerBootstrap 启动的问题.相关 issue他的问题我复述一下:ServerBootstrap 的绑定流程如下: {代码...} 在 AbstractUnsafe.register0 中可能会调用 pipeline.fireChannelActive(), 即: {代码...} 并且在 AbstractUnsafe.bind 中也会有 pipeline.fireChannelActive() 的调用, 即: {代...

Netty 源码分析之 三 我就是大名鼎鼎的 EventLoop(二)

2016-11-07
阅读 20 分钟
26.4k
在 Netty 中, 一个 EventLoop 需要负责两个工作, 第一个是作为 IO 线程, 负责相应的 IO 操作; 第二个是作为任务线程, 执行 taskQueue 中的任务. 接下来我们先从 IO 操纵方面入手, 看一下 TCP 数据是如何从 Java NIO Socket 传递到我们的 handler 中的.

Netty 源码分析之 三 我就是大名鼎鼎的 EventLoop(一)

2016-11-07
阅读 10 分钟
56k
目录 源码之下无秘密 ── 做最好的 Netty 源码分析教程 Netty 源码分析之 番外篇 Java NIO 的前生今世 Java NIO 的前生今世 之一 简介 Java NIO 的前生今世 之二 NIO Channel 小结 Java NIO 的前生今世 之三 NIO Buffer 详解 Java NIO 的前生今世 之四 NIO Selector 详解 Netty 源码分析之 零 磨刀不误砍柴工 源码分析环...

Netty 源码分析之 二 贯穿Netty 的大动脉 ── ChannelPipeline (二)

2016-10-28
阅读 14 分钟
24.7k
目录 源码之下无秘密 ── 做最好的 Netty 源码分析教程 Netty 源码分析之 番外篇 Java NIO 的前生今世 Java NIO 的前生今世 之一 简介 Java NIO 的前生今世 之二 NIO Channel 小结 Java NIO 的前生今世 之三 NIO Buffer 详解 Java NIO 的前生今世 之四 NIO Selector 详解 Netty 源码分析之 零 磨刀不误砍柴工 源码分析环...

Netty 源码分析之 二 贯穿Netty 的大动脉 ── ChannelPipeline (一)

2016-10-28
阅读 11 分钟
33.4k
目录 源码之下无秘密 ── 做最好的 Netty 源码分析教程 Netty 源码分析之 番外篇 Java NIO 的前生今世 Java NIO 的前生今世 之一 简介 Java NIO 的前生今世 之二 NIO Channel 小结 Java NIO 的前生今世 之三 NIO Buffer 详解 Java NIO 的前生今世 之四 NIO Selector 详解 Netty 源码分析之 零 磨刀不误砍柴工 源码分析环...

Netty 源码分析之 一 揭开 Bootstrap 神秘的红盖头 (服务器端)

2016-10-26
阅读 13 分钟
35.5k
目录 Netty 源码分析之 番外篇 Java NIO 的前生今世 Java NIO 的前生今世 之一 简介 Java NIO 的前生今世 之二 NIO Channel 小结 Java NIO 的前生今世 之三 NIO Buffer 详解 Java NIO 的前生今世 之四 NIO Selector 详解 Netty 源码分析之 零 磨刀不误砍柴工 源码分析环境搭建 Netty 源码分析之 一 揭开 Bootstrap 神秘...

Netty 源码分析之 一 揭开 Bootstrap 神秘的红盖头 (客户端)

2016-10-26
阅读 20 分钟
47.1k
目录 Netty 源码分析之 番外篇 Java NIO 的前生今世 Java NIO 的前生今世 之一 简介 Java NIO 的前生今世 之二 NIO Channel 小结 Java NIO 的前生今世 之三 NIO Buffer 详解 Java NIO 的前生今世 之四 NIO Selector 详解 Netty 源码分析之 零 磨刀不误砍柴工 源码分析环境搭建 Netty 源码分析之 一 揭开 Bootstrap 神秘...

源码之下无秘密 ── 做最好的 Netty 源码分析教程

2016-10-26
阅读 2 分钟
92.1k
在工作中, 虽然我经常使用到 Netty 库, 但是很多时候对 Netty 的一些概念还是处于知其然, 不知其所以然的状态, 因此就萌生了学习 Netty 源码的想法.刚开始看源码的时候, 自然是比较痛苦的, 主要原因有两个: 第一, 网上没有找到让我满意的详尽的 Netty 源码分析的教程; 第二, 我也是第一次系统地学习这么大代码量的源码. ...

Netty 源码分析之 零 磨刀不误砍柴工 源码分析环境搭建

2016-10-26
阅读 2 分钟
22.5k
目录 此文章属于 源码之下无秘密 ── 做最好的 Netty 源码分析教程 系列文章之一. 代码下载 首先到 Netty 的 Github 仓库 中, 点击右边绿色的按钮: 拷贝 git 地址: git@github.com:netty/netty.git然后在终端中输入如下命令, 克隆 Netty 工程: {代码...} Netty 工程源码较大, 加上国内网络问题, 下载 Netty 源码可能会比...

浅析 Netty 实现心跳机制与断线重连

2016-09-18
阅读 15 分钟
70.1k
顾名思义, 所谓 心跳, 即在 TCP 长连接中, 客户端和服务器之间定期发送的一种特殊的数据包, 通知对方自己还在线, 以确保 TCP 连接的有效性.