下载APP
登录
关闭
讲堂
算法训练营
Python 进阶训练营
企业服务
极客商城
客户端下载
兑换中心
渠道合作
推荐作者
当前播放: 21 | Netty代码编译与总览
00:00 / 00:00
标清
  • 标清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看

Netty源码剖析与实战

共60讲 · 约650分钟
4347
免费
01 | 课程介绍
免费
02 | 内容综述
免费
03 | 揭开Netty面纱
免费
04 | 为什么舍近求远:不直接用...
免费
05 | 为什么孤注一掷:独选Nett...
06 | Netty的前尘往事
07 | Netty的现状与趋势
08 | Netty怎么切换三种I/O模...
09 | 源码剖析:Netty对I/O模...
10 | Netty如何支持三种Reacto...
11 | 源码剖析:Netty对Reacto...
12 | TCP粘包/半包Netty全搞...
13 | 源码剖析:Netty对处理粘...
14 | 常用的“二次”编解码方式
15 | 源码剖析:Netty对常用编...
16 | keepalive与idle监测
17 | 源码剖析:Netty对keepal...
18 | Netty的那些“锁”事
19 | Netty如何玩转内存使用
20 | 源码解析:Netty对堆外内...
21 | Netty代码编译与总览
22 | 源码剖析:启动服务
23 | 源码剖析:构建连接
24 | 源码剖析:接收数据
25 | 源码剖析:业务处理
26 | 源码剖析:发送数据
27 | 源码剖析:断开连接
28 | 源码剖析:关闭服务
29 | 编写网络应用程序的基本步...
30 | 案例介绍和数据结构设计
31 | 实现服务器端编解码
32 | 实现一个服务器端
33 | 实现客户端编解码
34 | 完成一个客户端雏形
35 | 引入"响应分发"完善客户...
36 | Netty编码中易错点解析
37 | 调优参数:调整System参...
38 | 调优参数:权衡Netty核心...
39 | 调优参数:图解费脑的三个...
40 | 跟踪诊断:如何让应用易诊...
41 | 跟踪诊断:应用能可视,心...
42 | 跟踪诊断:让应用内存不“...
43 | 优化使用:用好自带注解省...
44 | 优化使用:“整改”线程模...
45 | 优化使用:增强写,延迟与...
46 | 优化使用:如何让应用丝般...
47 | 优化使用:为不同平台开启...
48 | 安全增强:设置“高低水位...
49 | 安全增强:启用空闲监测
50 | 安全增强:简单有效的黑白...
51 | 安全增强:少不了的自定义...
52 | 安全增强:拿来即用的SSL...
53 | 安全增强:拿来即用的SSL...
54 | 安全增强:拿来即用的SSL...
55 | Cassandra如何使用Netty...
56 | Dubbo如何使用Netty ?
57 | Hadoop如何使用Netty ?
58 | 赏析Netty之美
59 | 如何给Netty贡献代码?
60 | 课程回顾与总结
本节摘要

精选留言(6)

  • 2019-12-02
    这一章真的是相见恨晚啊。。。。感觉这一章基本可以放在前几章讲了。。。突然发现这一章感觉看你人都更帅了,可能是换了件衣服吧。哈哈
    之前我一直是从你git上传的代码里面查看netty源代码。这样完全不能全局搜索源代码,我看你突然点开一个文件。。我就现在页面上写一个这个类。。。。然后点进去看源码。。
    当时我看你git也没有上传netty源代码相关的。我还以为只有netty内部开发人员才可以下载,哈哈。

    我已经在git上下载netty源码了
    目前遇到的问题是无论是命令行clean install 还是在maven 指定jdk8+windows配置文件 还是右键任何一个项目debug--》compile 都是412的错误


    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:check (check-style) on project netty-common: Failed during checkstyle execution: There are 412 erro
    rs reported by Checkstyle 8.18 with io/netty/checkstyle.xml ruleset. -> [Help 1]
    [ERROR]
    [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
    [ERROR] Re-run Maven using the -X switch to enable full debug logging.
    [ERROR]
    [ERROR] For more information about the errors and possible solutions, please read the following articles:
    [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
    [ERROR]
    [ERROR] After correcting the problems, you can resume the build with the command
    [ERROR] mvn <goals> -rf :netty-common


    说是说关闭checkstyle。。。。不过找了很多资料还是关不了,idea里面的插件也没有装这个。尴尬。。。



    展开
  • 2019-12-01
    我用的Eclipse,编译代码遇到很多坑,供同用Eclipse的同学参考:
    1、maven插件问题:代码导入进来,好多pom报错,都是maven插件错误,如xml-maven-plugin,groovy-maven-plugin等等,解决办法:找到eclipse安装目录下的plugins目录,找到org.eclipse.m2e.lifecyclemapping.defaults_xxxx.jar插件,将里面的lifecycle-mapping-metadata.xml拷贝到netty源码工作区的.metadata\.plugins\org.eclipse.m2e.core下,添加报错的maven插件配置(配置完要重启Eclipse):
        <pluginExecution>
          <pluginExecutionFilter>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>xml-maven-plugin</artifactId>
            <versionRange>[1.0.1,)</versionRange>
            <goals>
              <goal>check-format</goal> <!-- 与报错信息的execution的goal一致 -->
              <goal>validate</goal>
            </goals>
          </pluginExecutionFilter>
          <action>
            <ignore />
          </action>
        </pluginExecution>

    2、check style的错误,会提示文件未以空行结尾(windows平台,mac估计不会报这个),那是因为文件默认是Unix的换行,在windows平台转换一下换行就可以,File->Convert Line Delimiters To,选择Windows即可。所以有钱还是换台mac book吧 :)

    3、其他错误参考老师视频就好

    4、废弃的udt模块也有个slf4j的依赖存在版本冲突,不用管,可以编译成功,反正也废弃了,就是留着个红叉不舒服而已。
    展开

    作者回复: 谢谢您对eclipse补充,赠人玫瑰,手有余香,👏👍

  • 2019-11-30
    有个疑问,那一堆需要codegen的代码是什么原因。怎么感觉跟c++模板似的。不能用泛型解决吗?
  • 2019-10-28
    记录下构建结果:
    Reactor Summary for Netty 4.1.43.Final-SNAPSHOT:
    Netty/Dev-Tools ........ SUCCESS [2.455 s]
    Netty ........... SUCCESS [7.586 s]
    Netty/Common ........... SUCCESS [ 14.504 s]
    Netty/Buffer ........... SUCCESS [4.194 s]
    Netty/Resolver ......... SUCCESS [3.221 s]
    Netty/Transport ........ SUCCESS [4.764 s]
    Netty/Codec ..... SUCCESS [6.489 s]
    Netty/Codec/DNS ........ SUCCESS [3.390 s]
    Netty/Codec/HAProxy .... SUCCESS [3.381 s]
    Netty/Handler .......... SUCCESS [5.136 s]
    Netty/Codec/HTTP ....... SUCCESS [5.295 s]
    Netty/Codec/HTTP2 ...... SUCCESS [4.238 s]
    Netty/Codec/Memcache .......... SUCCESS [3.003 s]
    Netty/Codec/MQTT ....... SUCCESS [2.965 s]
    Netty/Codec/Redis ...... SUCCESS [2.733 s]
    Netty/Codec/SMTP ....... SUCCESS [2.993 s]
    Netty/Codec/Socks ...... SUCCESS [3.349 s]
    Netty/Codec/Stomp ...... SUCCESS [2.824 s]
    Netty/Codec/XML ........ SUCCESS [2.732 s]
    Netty/Handler/Proxy .... SUCCESS [2.507 s]
    Netty/Resolver/DNS ..... SUCCESS [4.733 s]
    Netty/Transport/RXTX .......... SUCCESS [2.496 s]
    Netty/Transport/SCTP .......... SUCCESS [2.857 s]
    Netty/Transport/UDT .... SUCCESS [4.487 s]
    Netty/Example .......... SUCCESS [4.359 s]
    Netty/Transport/Native/Unix/Common ... SUCCESS [3.106 s]
    Netty/Testsuite ........ SUCCESS [3.148 s]
    Netty/Transport/Native/Unix/Common/Tests .... SUCCESS [2.550 s]
    Netty/Transport/Native/KQueue ........ SUCCESS [ 25.000 s]
    Netty/Transport/Native/Epoll ......... SUCCESS [8.717 s]
    Netty/All-in-One ....... SUCCESS [8.696 s]
    Netty/Tarball .......... SUCCESS [0.905 s]
    Netty/Testsuite/Autobahn ...... SUCCESS [3.151 s]
    Netty/Testsuite/Http2 ......... SUCCESS [3.413 s]
    Netty/Testsuite/OSGI .......... SUCCESS [3.374 s]
    Netty/Testsuite/Shading ....... SUCCESS [9.432 s]
    Netty/Testsuite/NativeImage ... SUCCESS [3.898 s]
    Netty/Microbench ....... SUCCESS [ 25.340 s]
    Netty/BOM ....... SUCCESS [0.023 s]
    BUILD SUCCESS
    Total time: 03:28 min
    Finished at: 2019-10-28T08:17:40+08:00
    展开

    作者回复: 你成功了,哈

  • 2019-10-24
    下周三见了,这几章听的云里雾里的,好几脸懵逼

    作者回复: 加油

  • 2019-10-23
    老师能用这个netty做通讯用于一秒通讯一次一天24小时不停,如果能怎么部署呢

    作者回复: 一秒一次,太少了……,连health check也不止吧,随便用什么写都能做到的,部署什么方式都行,最简单的,打成可执行jar启动