Skip to content

面试速答(先看这里)

**一句话结论:**Netty 是由 JBOSS 提供的一个 Java 开源框架。

60秒标准回答:

Netty 是由 JBOSS 提供的一个 Java 开源框架。Netty 提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序。 Netty 主要用来做网络通信,一般可以用来作RPC框架的通信工具、实现即时通讯系统以及实时消息推送系统等

相比于Java中自带的NIO来说,Netty有很多好处,比如开箱即用,非常方便;性能高,能承载大量并发;功能更加强大并且社区也比较活跃

使用简单 :封装了 Java 原生 NIO 类库繁琐的 API,使用起来更加高效

**答题顺序:**结论 → 原理/机制 → 关键流程 → 场景与取舍 → 易错点

回答主线:

  • **要点1:**相比于Java中自带的NIO来说,Netty有很多好处,比如开箱即用,非常方便;
  • **要点2:**使用简单 :封装了 Java 原生 NIO 类库繁琐的 API,使用起来更加高效;
  • **要点3:**功能强大 :预置多种编码能力,支持多种主流协议。
  • **要点4:**高性能 :与其它业界主流 NIO 框架相比,Netty 综合更优。
  • **要点5:**社区活跃 :版本更新周期短,BUG 修复速度快,让开发者可以专注业务本身。

**记忆锚点:**Netty → Java → NIO → ChannelHandler → 动的网络应用程序框架 → 能承载大量并发

关键取舍:

  • Netty 提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序。
  • 高性能 :与其它业界主流 NIO 框架相比,Netty 综合更优。
  • 主要体现在吞吐量更高、延迟更低、减少资源消耗以及最小化不必要的内存复制;

追问准备:

  • 围绕「Netty」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「Java」:底层原理是什么?使用时有哪些边界和常见坑?
  • 围绕「NIO」:底层原理是什么?使用时有哪些边界和常见坑?
  • 如果线上出现异常,你会如何定位、验证并规避?

典型回答 ​

Netty 是由 JBOSS 提供的一个 Java 开源框架。Netty 提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序。Netty 主要用来做网络通信,一般可以用来作RPC框架的通信工具、实现即时通讯系统以及实时消息推送系统等。

相比于Java中自带的NIO来说,Netty有很多好处,比如开箱即用,非常方便;性能高,能承载大量并发;功能更加强大并且社区也比较活跃。

使用简单:封装了 Java 原生 NIO 类库繁琐的 API,使用起来更加高效;

功能强大:预置多种编码能力,支持多种主流协议。同时通过 ChannelHandler 可以进行灵活的拓展,支持很强的定制能力;

高性能:与其它业界主流 NIO 框架相比,Netty 综合更优。主要体现在吞吐量更高、延迟更低、减少资源消耗以及最小化不必要的内存复制;

社区活跃:版本更新周期短,BUG 修复速度快,让开发者可以专注业务本身。