Java NIO和Netty网络框架

讲解Java中网络编程的高级知识,Java NIO和Netty网络框架等各种异步通信框架,为Java和中间件体系的学习打下坚实基础。

时间2天。

NIO概述

  • 网络编程
  • IO读写
  • 同步调用
  • 异步调用
  • 常见的4种IO模型
  • 经典服务器设计
  • Reactor 模式
  • Reactor 优缺点
  • Proactor
  • Proactor 操作图
  • Java NIO
  • Java 网络编程
  • BIO知识体系
  • NIO技术发展
  • Netty项目
  • Netty架构
  • Netty架构图
  • Netty范例
  • 服务器执行过程

Java NIO详解

  • Buffer类
  • 缓冲区标识
  • 缓冲区处理
  • 直接缓冲区
  • 缓冲区反转
  • ByteBuffer
  • 缓冲区分片
  • 其他操作
  • 通道 Channel
  • AsynchronousChannel
  • 读取通道
  • 写入通道
  • ByteChannel
  • NetworkChannel
  • 四种重要通道
  • FileChannel
  • 高效访问
  • 锁定操作

Java NIO网络部分

  • 选择器 Selector
  • 选择通道 SelectableChannel
  • SelectionKey
  • 选择器状态变化
  • 范例
  • JDK Charset

NIO2

  • 新增文件相关包
  • NIO2新特性
  • 文件系统
  • FileStore功能
  • Paths 文件定位
  • 管理文件属性
  • 文件属性 View
  • BasicFileAttributeView方法
  • 随机位置访问文件
  • 遍历文件树
  • 遍历过程
  • 监视目录
  • 异步IO
  • AsynchronousByteChannel
  • AsynchronousFileChannel
  • 文件异步操作
  • 异步Socket通道

Netty详解

  • Channel
  • EventLoop
  • EventLoop 处理图
  • 父子通道
  • ChannelHandler
  • ChannelHandler典型用途
  • ChannelPipeline
  • ChannelPipeline
  • Bootstrap
  • ServerBootstrap 启动流程之一
  • ServerBootstrap 启动流程之二
  • ServerBootstrap 启动流程之三
  • 内置的传输方式
  • Epoll
  • ByteBuf
  • ByteBuf 优点
  • ByteBuf工作方式
  • 内存模式
  • 复合缓冲区
  • 缓冲区操作
  • 缓冲区视图和复制
  • ByteBufAllocator
  • 引用计数
  • Channel状态
  • ChannelHandler 生命周期
  • ChannelInboundHandler 接口
  • 消息引用技术
  • ChannelOutboundHandler 接口
  • Pipeline操作
  • ChannelHandlerContext
  • 头尾上下文
  • 编解码器
  • Decoder
  • 常用内置解码器
  • Encoder
  • 抽象的编解码器类
  • HTTP编解码器
  • 半包问题

其他Java网络开发框架

  • Apache Mina
  • Mina特性
  • Mina代码示例一
  • Mina代码示例二
  • Grizzy项目
  • Grizzy 特性
  • Grizzy范例

JDK内部Http支持

  • Http Client
  • Http server
  • Http server 示例

NIO总结

  • IO知识
  • Java NIO
  • Netty
  • 其他网络框架