Java读源码之Netty深入剖析
【课程介绍】Netty的横空出世让Java开发者眼前一亮,数据流处理、应用程序开启、处理协议编码等工作因为Netty都变得更加简单,也正因如此,掌握Netty也成为了抢手Java开发的必备素质。本次课程从Socket例子入手,一步步深入探究Netty源码,剖析代码背后的原理,解决面试中遇到的Netty问题,彻底掌握Netty。
【课程目录】
- 第1章 课程介绍介绍本课程需要的前提知识和内容概要
- 1-1 Netty深入剖析
- 1-1 Netty深入剖析
- 第2章 Netty基本组件使用一个简单的socket例子概括Netty里面的基本组件,包括NioEventLoop,Channel,ByteBuf,Pipeline,ChannelHandler
- 2-1 一个简单的socket例子
- 2-2 Netty对于socket的抽象
- 2-3 Netty组件简单介绍
- 第3章 Netty服务端启动分析服务端启动流程,包括服务端Channel的创建,初始化,以及注册到selector
- 3-1 服务端启动demo
- 3-2 服务端Channel的创建
- 3-3 服务端Channel的初始化
- 3-4 注册selector
- 3-5 服务端口的绑定
- 3-6 服务端启动总结
- 第4章 NioEventLoop分析Netty reactor线程处理过程,包括事件监听,事件处理,常规任务处理和定时任务处理
- 4-1 NioEventLoop概述
- 4-2 NioEventLoop创建概述
- 4-3 ThreadPerTaskThread
- 4-4 创建NioEventLoop线程
- 4-5 创建线程选择器
- 4-6 NioEventLoop的启动
- 4-7 NioEventLoop执行概述
- 4-8 检测IO事件
- 4-9 处理IO事件
- 4-10 -reactor线程任务的执行
- 4-11 -NioEventLoop总结
- 第5章 新连接接入分析新连接接入以及绑定reactor线程,绑定到selector的过程
- 5-1 新连接接入概述
- 5-2 新连接检测
- 5-3 NioSocketChannel的创建
- 5-4 Channel的分类
- 5-5 新连接NioEventLoop的分配和selector注册
- 5-6 NioSocketChannel读事件的注册
- 5-7 新连接接入总结
- 第6章 pipeline分析pipeline的创建,初始化,添加和删除ChannelHandler,事件传播机制,异常传播机制
- 6-1 pipeline概述
- 6-2 pipeline初始化
- 6-3 添加ChannelHandler
- 6-4 删除ChannelHandler
- 6-5 inBound事件的传播
- 6-6 outBound事件的传播
- 6-7 异常的传播
- 6-8 pipeline总结.mp4
- 第7章 ByteBuf详细分析ByteBuf种类,如何减少多线程内存分配竞争,不同大小内存是如何分配的
- 7-1 内存分配概述
- 7-2 ByteBuf结构以及重要api
- 7-3 ByteBuf分类
- 7-4 内存分配器ByteBufAllocator分析
- 7-5 UnPooledByteBufAllocator分析
- 7-6 PooledByteBufAllocator概述
- 7-7 directArena分配direct内存的流程
- 7-8 内存规格的介绍
- 7-9 缓存数据结构
- 7-10 命中缓存的分配流程
- 7-11 arena、chunk、page、subpage概念
- 7-12 page 级别内存分配
- 7-13 subpage 级别的内存分配
- 7-14 ByteBuf的回收
- 7-15 总结
- 第8章 Netty解码详细分析Netty解码原理,解码器抽象,以及几种常见的解码器
- 8-1 Netty解码概述
- 8-2 抽象解码器ByteToMessageDecoder
- 8-3 基于固定长度解码器分析
- 8-4 行解码器分析
- 8-5 基于分隔符解码器分析
- 8-6 基于长度域解码器参数分析
- 8-7 基于长度域解码器分析
- 8-8 解码器总结
- 第9章 Netty编码及writeAndFlush()writeAndFlush传播流程,编码器抽象,writeAndFlush详细流程
- 9-1 Netty编码概述
- 9-2 writeAndFlush()抽象步骤
- 9-3 抽象编码器MessageToByteEncoder
- 9-4 写buffer队列
- 9-5 刷新buffer队列
- 9-6 总结
- 第10章 Netty性能优化工具类解析详细分析Netty里面最高频使用的两个性能优化类FastThreadLocal以及轻量级对象池Recycler
- 10-1 性能优化工具类概述
- 10-2 FastThreadLocal的使用
- 10-3 FastThreadLocal的创建和get()实现
- 10-4 FastThreadLocal的set实现
- 10-5 Recycler的使用
- 10-6 Recycler的创建
- 10-7 从Recycler中获取对象
- 10-8 同线程回收对象
- 10-9 异线程回收对象
- 10-10 异线程收割对象
- 10-11 性能优化工具类总结
- 第11章 Netty设计模式应用分析各类常见设计模式以及在Netty中的应用
- 11-1 单例模式在Netty里面的应用
- 11-2 策略模式在Netty里面的应用
- 11-3 装饰者模式在Netty里面的应用
- 11-4 观察者模式在Netty里面的应用
- 11-5 迭代器模式在Netty里面的应用
- 11-6 责任链模式在Netty里面的应用
- 第12章 Netty高性能并发调优系统层面单机如何支持百万连接,如何提升应用层面性能
- 12-1 性能调优概述
- 12-2 单机百万连接模拟与瓶颈
- 12-3 单机百万连接调优过程
- 12-4 Netty应用级别性能瓶颈
- 12-5 Netty应用级别性能调优过程
- 第13章 课程总结对本课程做一个回顾总结
- 13-1 课程回顾和总结