当前播放: 21 | Netty代码编译与总览
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:初识Netty:背景、现状与趋势 (7讲)
01 | 课程介绍
免费
02 | 内容综述
免费
03 | 揭开Netty面纱
免费
04 | 为什么舍近求远:不直接用JDK NIO?
免费
05 | 为什么孤注一掷:独选Netty?
免费
06 | Netty的前尘往事
07 | Netty的现状与趋势
第二章:Netty源码:从“点”(领域知识)的角度剖析 (13讲)
08 | Netty怎么切换三种I/O模式?
09 | 源码剖析:Netty对I/O模式的支持
10 | Netty如何支持三种Reactor?
11 | 源码剖析:Netty对Reactor的支持
12 | TCP粘包/半包Netty全搞定
13 | 源码剖析:Netty对处理粘包/半包的支持
14 | 常用的“二次”编解码方式
15 | 源码剖析:Netty对常用编解码的支持
16 | keepalive与idle监测
17 | 源码剖析:Netty对keepalive与idle监测的支持
18 | Netty的那些“锁”事
19 | Netty如何玩转内存使用
20 | 源码解析:Netty对堆外内存和内存池的支持
第三章:Netty源码:从“线”(请求处理)的角度剖析 (8讲)
21 | Netty代码编译与总览
22 | 源码剖析:启动服务
23 | 源码剖析:构建连接
24 | 源码剖析:接收数据
25 | 源码剖析:业务处理
26 | 源码剖析:发送数据
27 | 源码剖析:断开连接
28 | 源码剖析:关闭服务
第四章:Netty实战入门:写一个“玩具”项目 (8讲)
29 | 编写网络应用程序的基本步骤
30 | 案例介绍和数据结构设计
31 | 实现服务器端编解码
32 | 实现一个服务器端
33 | 实现客户端编解码
34 | 完成一个客户端雏形
35 | 引入"响应分发"完善客户端
36 | Netty编码中易错点解析
第五章:Netty实战进阶:把“玩具”变成产品 (18讲)
37 | 调优参数:调整System参数夯实基础
38 | 调优参数:权衡Netty核心参数
39 | 调优参数:图解费脑的三个参数
40 | 跟踪诊断:如何让应用易诊断?
41 | 跟踪诊断:应用能可视,心里才有底
42 | 跟踪诊断:让应用内存不“泄露”?
43 | 优化使用:用好自带注解省点心
44 | 优化使用:“整改”线程模型让"响应"健步如飞
45 | 优化使用:增强写,延迟与吞吐量的抉择
46 | 优化使用:如何让应用丝般“平滑”?
47 | 优化使用:为不同平台开启native
48 | 安全增强:设置“高低水位线”等保护好自己
49 | 安全增强:启用空闲监测
50 | 安全增强:简单有效的黑白名单
51 | 安全增强:少不了的自定义授权
52 | 安全增强:拿来即用的SSL-对话呈现表象
53 | 安全增强:拿来即用的SSL-抓包暴露本质
54 | 安全增强:拿来即用的SSL-轻松融入案例
第六章:成长为Netty的贡献者 (6讲)
55 | Cassandra如何使用Netty ?
56 | Dubbo如何使用Netty ?
57 | Hadoop如何使用Netty ?
58 | 赏析Netty之美
59 | 如何给Netty贡献代码?
60 | 结课测试&结束语
21 | Netty代码编译与总览

21 | Netty代码编译与总览

傅健
Netty源码贡献者、Cisco高级软件工程师
全集6601
新人首单 ¥29.9 原价 ¥129
4
本节摘要
登录 后留言

精选留言(15)

  • sanwanliu
    linux 下 可以使用 mvn compile -Dcheckstyle.skip=true -e 生成io.netty.util.collection
    2020-02-10
    1
    3
  • Kyushu
    [ERROR] Failed to execute goal org.fusesource.hawtjni:maven-hawtjni-plugin:1.14:build (build-native-lib) on project netty-transport-native-kqueue: build failed: org.apache.maven.plugin.MojoExecutionException: Requested download does not exist.: Failure to find io.netty:netty-transport-native-kqueue:zip:native-src:4.1.49.Final-SNAPSHOT in https://oss.sonatype.org/content/repositories/snapshots was cached in the local repository, resolution will not be reattempted until the update interval of sonatype-nexus-snapshots has elapsed or updates are forced
    [ERROR]
    [ERROR] Try downloading the file manually from the project website.
    [ERROR]
    [ERROR] Then, install it using the command:
    [ERROR] mvn install:install-file -DgroupId=io.netty -DartifactId=netty-transport-native-kqueue -Dversion=4.1.49.Final-SNAPSHOT -Dclassifier=native-src -Dpackaging=zip -Dfile=/path/to/file
    [ERROR]
    [ERROR] Alternatively, if you host your own repository you can deploy the file there:
    [ERROR] mvn deploy:deploy-file -DgroupId=io.netty -DartifactId=netty-transport-native-kqueue -Dversion=4.1.49.Final-SNAPSHOT -Dclassifier=native-src -Dpackaging=zip -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
    [ERROR]
    [ERROR]
    [ERROR] io.netty:netty-transport-native-kqueue:zip:4.1.49.Final-SNAPSHOT
    [ERROR]
    [ERROR] from the specified remote repositories:
    [ERROR] sonatype-nexus-snapshots (https://oss.sonatype.org/content/repositories/snapshots, releases=false, snapshots=true),
    [ERROR] central (https://repo.maven.apache.org/maven2, releases=true, snapshots=false)

    ************************************************************************************************
    哪位能帮忙看看,一直不通过,Mac系统编译;试了一天了
    2020-04-03
    1
    1
  • WING
    我用的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-12-01
    1
  • 歪歪
    老师, 没有Netty的基础可以直接看这个课程吗 , 感觉从第二章开始就有点懵
    2020-07-11
  • ata
    Cannot resolve io.netty:netty-transport-native-unix-common-tests:4.1.40.Final-SNAPSHOT
    这个是啥啊,https://mvnrepository.com/artifact/io.netty/netty-transport-native-unix-common-tests里并没有这个版本啊
    2020-05-24
  • 辉色翅膀
    Could not find artifact io.netty:netty-testsuite:pom:4.1.40.Final-SNAPSHOT
    这个有没好的解决方法?
    2020-04-18
  • 牙医
    老师,jdk8之后的unsafe不能用了,是不是堆外内存也就不灵了?
    2020-04-17
  • suke
    老师,你在idea上 子模块右键就有maven run compile的选项是怎么调出来的?我怎么没找到

    作者回复: 装个idea的maven插件!

    2020-02-06
  • 木头
    您好:
    我在运行 netty 提供的测试类时报错
    Unrecognized option: --illegal-access=deny
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.
    请问这是什么原因,

    作者回复: 我运行官方代码,没有遇到你说的这个问题,所以你运行的是官方的代码么?什么版本?运行命令是什么样的?请提供点详细信息,才好帮您诊断。直接回复这个问题的留言就行。谢谢

    2019-12-23
    1
  • 木头
    您好:我在运行netty 源码的test类时报错

    作者回复: 你的另外一个留言我回复了,这个问题重复了,我们在你那个问题上进行讨论,哈

    2019-12-23
  • 冬渐暖
    这一章真的是相见恨晚啊。。。。感觉这一章基本可以放在前几章讲了。。。突然发现这一章感觉看你人都更帅了,可能是换了件衣服吧。哈哈
    之前我一直是从你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里面的插件也没有装这个。尴尬。。。



    作者回复: 这个主要是因为你是windows吧,换行符不一样。详情你可以参考这个文章:
    https://netty.io/wiki/setting-up-development-environment.html#git-line-ending-configuration

    你可以直接转化下也可以:参考:
    https://intellij-support.jetbrains.com/hc/user_images/lwCYAEhzHueme3pr4ol5tQ.png

    另外:checkstyle肯定可以关闭的啊,真不行,你直接把plugin配置都去掉:
           <artifactId>maven-checkstyle-plugin</artifactId>

    2019-12-02
  • pchou
    有个疑问,那一堆需要codegen的代码是什么原因。怎么感觉跟c++模板似的。不能用泛型解决吗?

    作者回复: 此处不行,因为泛型只支持对象类型,不能直接搞定Int,只能Integer,但是你翻阅它用脚本产生的代码,目标是直接搞定int的,比如:io.netty.util.collection.IntCollections.EmptyMap#get(int)
     public Object get(int key) {
                return null;
     }
    用泛型的话就做不到了。

    2019-11-30
  • 加载中……
    记录下构建结果:
    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-28
  • 小不点
    下周三见了,这几章听的云里雾里的,好几脸懵逼

    作者回复: 加油

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

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

    2019-10-23
收起评论
看过的人还看
数据结构与算法之美

王争  前Google工程师

80讲 | 87107 人已学习

新人首单 ¥29.9 原价 ¥129
Java并发编程实战

王宝令  资深架构师

51讲 | 17991 人已学习

新人首单 ¥19.9 原价 ¥99
MySQL实战45讲

林晓斌  网名丁奇,前阿里资深技术专家

49讲 | 56585 人已学习

新人首单 ¥29.9 原价 ¥129
Java核心技术面试精讲

杨晓峰  前Oracle首席工程师

44讲 | 46787 人已学习

新人首单 ¥19.9 原价 ¥99