实战 \Java读源码之Netty深入剖析
收藏

Java读源码之Netty深入剖析

难度 高级
时长 11小时30分钟
学习人数 284
10.00分
¥ 299.00

Java读源码之Netty深入剖析

观看导学视频

Java读源码之Netty深入剖析
JavaCoder如果没有研究过Netty,那么你对Java语言的使用和理解仅仅停留在表面水平,如果你要进阶,想了解Java服务器的深层高阶知识,Netty绝对是一个必须要过的门槛。本课程带你从一个Socket例子入手,一步步深入探究Netty各个模块的源码,深入剖析Netty的工作流程和源码设计,让你不但“真懂”也要“会用”
闪电侠_

高级研发工程师

深度解析Netty源码 让你怎么面试都不怕

想要高薪职位,首先你要深入理解框架源码
1
服务的socket在哪里初始化?
在哪里accept连接?

理顺服务端启动流程

ServerBootstrap外观,NioServerSocketChannel创建,初始
化,注册selector,绑定端口,接受新连接

2
默认情况下,Netty服务端启动多少线程?何时启动?
Netty如何解决JDK空轮询bug?
Netty如何保证异步串行无锁化?

吃透高并发线程模型

深入理解Netty无锁化串行设计,精心设计的reactor线程模型将
榨干你的cpu,打满你的网卡,让你的应用程序性能爆表

3
Netty在哪里检测有新连接接入的?
新连接是怎样注册到NioEventLoop线程的?

通晓新连接接入流程

boos reactor线程,监测新连接,创建NioSocketChannel,IO线
程分配,selector注册事件

4
Netty是如何判断ChannelHandler类型的?
对于ChannelHandler的添加应遵循什么顺序?
用户手动触发事件传播,不同触发方式的区别?

明晰事件传播机制脉络

大动脉pipeline,处理器channelHandler,inbound、outbound
事件传播,异常传播

5
Netty内存类别有哪些?
如何减少多线程内存分配之间的竞争?
不同大小的内存是如何进行分配的?

攻破内存分配机制

ByteBufAllocator分类,ByteBuf分类,堆内堆外,池化非池化,
Unsafe非Unsafe,area、chunk、page、subpage,内存分级,
内存缓存片段等概念一网打尽

6
解码器抽象的解码过程是什么样的?
Netty里面有哪些拆箱即用的解码器?
如何把对象变成字节流,最终写到Socket底层?

掌握编解码原理

编解码顶层抽象,定长解码器,行解码器,分隔符解码器,基于
长度域解码器全面分析,编码抽象,writeAndFlush深入分析

读完源码,也许你也能像老师一样,给框架作者提Issue,并被采纳

只要你有Netty的使用经验,就能入手跟着读源码

从未读过任何框架源码也不慌,勇敢迈出第一步,老师带你一起飞

类比Socket通信流程,降低学习难度,搞清Netty源码

想写出好代码
先看好代码怎么写

深入分析Netty设计模式使用
带你迅速提高编码技能
让代码变得优雅、可靠、高质量

真实百万级调优策略,带你玩转性能调优

单机百万连接调试,应用级调优演示

晓悟通用性能
工具类

FastThreadLocal,比jdk的ThreadLocal更快
轻量级对象池Recycler,对象复用,减少gc

高并发长连
生产环境调优技能

从系统层面和应用层面通过多种手段
来提高单机连接数,提升应用程序性能

学员专享增值服务

问答专区

关于课程的问题都可在问答区随时提问,讲

师会进行集中答疑

源码开放

课程案例代码完全开放给你,你可以根据

所学知识自行修改、优化

适合人群

有Netty编程经验,想了解Netty底层实现的小伙伴,IDE不熟悉的小伙伴
可以学习老师的《IntelliJ IDEA神器使用技巧》课程

技术储备要求

IntelliJ IDEA,会使用虚拟机,maven,使用过Netty
了解nio,多线程知识

环境参数

  • 基础工具 Maven,JDK8
  • 开发工具 IntelliJ IDEA
  • 演示工具 Virtual Box,Vagrant
  • 项目框架 Netty 4.1.6.Final
提问
数据加载中...
意见反馈 常见问题 APP下载
官方微信