🙂🙂🙂关注**微信公众号:【芋艿的后端小屋】**有福利:
- RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
- RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
- 您对于源码的疑问每条留言都将得到认真回复。甚至不知道如何读源码也可以请教噢。
- 新的源码解析文章实时收到通知。每周更新一篇左右。
-
网络应用框架 Netty
- 《精尽 Netty 源码分析 —— 调试环境搭建》
- 《精尽 Netty 源码分析 —— NIO 基础(一)之简介》
- 《精尽 Netty 源码分析 —— NIO 基础(二)之 Channel》
- 《精尽 Netty 源码分析 —— NIO 基础(三)之 Buffer》
- 《精尽 Netty 源码分析 —— NIO 基础(四)之 Selector》
- 《精尽 Netty 源码分析 —— NIO 基础(五)之示例》
- 《精尽 Netty 源码分析 —— Netty 简介(一)之项目结构》
- 《精尽 Netty 源码分析 —— Netty 简介(二)之核心组件》
- 《精尽 Netty 源码分析 —— 启动(一)之服务端》
- 《精尽 Netty 源码分析 —— 启动(二)之客户端》
- 《精尽 Netty 源码解析 —— EventLoop(一)之 Reactor 模型》
- 《精尽 Netty 源码解析 —— EventLoop(二)之 EventLoopGroup》
- 《精尽 Netty 源码解析 —— EventLoop(三)之 EventLoop 初始化》
- 《精尽 Netty 源码解析 —— EventLoop(四)之 EventLoop 运行》
- 《精尽 Netty 源码解析 —— EventLoop(五)之 EventLoop 处理 IO 事件》
- 《精尽 Netty 源码解析 —— EventLoop(六)之 EventLoop 处理普通任务》
- 《精尽 Netty 源码解析 —— EventLoop(七)之 EventLoop 处理定时任务》
- 《精尽 Netty 源码解析 —— EventLoop(八)之 EventLoop 优雅关闭》
- 《精尽 Netty 源码解析 —— ChannelPipeline(一)之初始化》
- 《精尽 Netty 源码解析 —— ChannelPipeline(二)之添加 ChannelHandler》
- 《精尽 Netty 源码解析 —— ChannelPipeline(三)之移除 ChannelHandler》
- 《精尽 Netty 源码解析 —— ChannelPipeline(四)之 Outbound 事件的传播》
- 《精尽 Netty 源码解析 —— ChannelPipeline(五)之 Inbound 事件的传播》
- 《精尽 Netty 源码解析 —— ChannelPipeline(六)之异常事件的传播》
- 《精尽 Netty 源码解析 —— Channel(一)之简介》
- 《精尽 Netty 源码解析 —— Channel(二)之 accept 操作》
- 《精尽 Netty 源码解析 —— Channel(三)之 read 操作》
- 《精尽 Netty 源码解析 —— Channel(四)之 write 操作》
- 《精尽 Netty 源码解析 —— Channel(五)之 flush 操作》
- 《精尽 Netty 源码解析 —— Channel(六)之 writeAndFlush 操作》
- 《精尽 Netty 源码解析 —— Channel(七)之 close 操作》
- 《精尽 Netty 源码解析 —— Channel(八)之 disconnect 操作》
- 《精尽 Netty 源码解析 —— Buffer 之 ByteBuf(一)简介》
- 《精尽 Netty 源码解析 —— Buffer 之 ByteBuf(二)核心子类》
- 《精尽 Netty 源码解析 —— Buffer 之 ByteBuf(三)内存泄露检测》
- 《精尽 Netty 源码解析 —— Buffer 之 ByteBuf(四)其它子类》
- 《精尽 Netty 源码解析 —— Buffer 之 ByteBufAllocator(一)简介》
- 《精尽 Netty 源码解析 —— Buffer 之 ByteBufAllocator(二)UnpooledByteBufAllocator》
- 《精尽 Netty 源码解析 —— Buffer 之 ByteBufAllocator(三)PooledByteBufAllocator》
- 《精尽 Netty 源码解析 —— Buffer 之 Jemalloc(一)简介》
- 《精尽 Netty 源码解析 —— Buffer 之 Jemalloc(二)PoolChunk》
- 《精尽 Netty 源码解析 —— Buffer 之 Jemalloc(三)PoolSubpage》
- 《精尽 Netty 源码解析 —— Buffer 之 Jemalloc(四)PoolChunkList》
- 《精尽 Netty 源码解析 —— Buffer 之 Jemalloc(五)PoolArena》
- 《精尽 Netty 源码解析 —— Buffer 之 Jemalloc(六)PoolThreadCache》
- 《精尽 Netty 源码解析 —— ChannelHandler(一)之简介》
- 《精尽 Netty 源码解析 —— ChannelHandler(二)之 ChannelInitializer》
- 《精尽 Netty 源码解析 —— ChannelHandler(三)之 SimpleChannelInboundHandler》
- 《精尽 Netty 源码解析 —— ChannelHandler(四)之 LoggingHandler》
- 《精尽 Netty 源码解析 —— ChannelHandler(五)之 IdleStateHandler》
- 《精尽 Netty 源码解析 —— ChannelHandler(六)之 AbstractTrafficShapingHandler》
- 《精尽 Netty 源码解析 —— Codec 之 ByteToMessageDecoder(一)Cumulator》
- 《精尽 Netty 源码解析 —— Codec 之 ByteToMessageDecoder(二)FrameDecoder》
- 《精尽 Netty 源码解析 —— Codec 之 MessageToByteEncoder》
- 《精尽 Netty 源码解析 —— Codec 之 ByteToMessageCodec》
- 《精尽 Netty 源码解析 —— Codec 之 MessageToMessageCodec》
- 《精尽 Netty 源码解析 —— Util 之 Future》
- 《精尽 Netty 源码解析 —— Util 之 FastThreadLocal》
- 《精尽 Netty 源码解析 —— Util 之 Recycler》
- 《精尽 Netty 源码解析 —— Util 之 HashedWheelTimer》
- 《精尽 Netty 源码解析 —— Util 之 MpscUnboundedArrayQueue》
Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
For the detailed information about building and developing Netty, please visit the developer guide. This page only gives very basic information.
You require the following to build Netty:
- Latest stable Oracle JDK 7
- Latest stable Apache Maven
- If you are on Linux, you need additional development packages installed on your system, because you'll build the native transport.
Note that this is build-time requirement. JDK 5 (for 3.x) or 6 (for 4.0+) is enough to run your Netty-based application.
Development of all versions takes place in each branch whose name is identical to <majorVersion>.<minorVersion>
. For example, the development of 3.9 and 4.0 resides in the branch '3.9' and the branch '4.0' respectively.
Netty can be used in modular JDK9 applications as a collection of automatic modules. The module names follow the reverse-DNS style, and are derived from subproject names rather than root packages due to historical reasons. They are listed below:
io.netty.all
io.netty.buffer
io.netty.codec
io.netty.codec.dns
io.netty.codec.haproxy
io.netty.codec.http
io.netty.codec.http2
io.netty.codec.memcache
io.netty.codec.mqtt
io.netty.codec.redis
io.netty.codec.smtp
io.netty.codec.socks
io.netty.codec.stomp
io.netty.codec.xml
io.netty.common
io.netty.handler
io.netty.handler.proxy
io.netty.resolver
io.netty.resolver.dns
io.netty.transport
io.netty.transport.epoll
(native
omitted - reserved keyword in Java)io.netty.transport.kqueue
(native
omitted - reserved keyword in Java)io.netty.transport.unix.common
(native
omitted - reserved keyword in Java)io.netty.transport.rxtx
io.netty.transport.sctp
io.netty.transport.udt
Automatic modules do not provide any means to declare dependencies, so you need to list each used module separately
in your module-info
file.