回答
Bootstrap
、ServerBootstrap
:引导类,用于配置整个 Netty 程序,串联各个组件,将这些组件串连为一个可运行的完整的程序。Bootstrap
用于客户端,ServerBootstrap
用于服务端。Channel
:通道。Netty 网络通信的核心组件,它代表了一个打开的连接。当客户端与服务端建立连接后,服务端会为客户端新建一个代表它的 Channel。EventLoop
:事件循环。是 Netty Reactor 线程模型的核心处理引擎,负责处理Channel
的 I/O 操作。当服务端为某个客户端新建Channel
后,为将Channel
与一个EventLoop
进行绑定,在这个Channel
的生命周期内,它的所有事件和任务都由与之绑定的EventLoop
执行。注意,EventLoop
是一个单线程执行器,这样可以避免线程安全的问题。ChannelHandler
:处理器,Netty 处理业务的核心逻辑所在,用于处理入站和出站事件。ChannelPipeline
:Netty 的核心处理链,用于实现网络事件的动态编排和有序传播。它的主要作用是管理和执行ChannelHandler
,确保它们按照正确的顺序和方式进行事件处理。ByteBuf
:数据缓冲区,Netty 的数据容器。
Java NIO 中有一个 Channel 了,为什么 Netty 还重新设计一个?
Netty 中的 ByteBuf 是什么,它和 Java NIO 的 ByteBuffer 有什么区别?
EventloopGroup 和 EventLoop了解么?他们两者的关系是什么?
NioEventLoopGroup 默认的构造函数会起多少线程?
Netty 的 Channel 和 EventLoop 之间的关系是什么?
什么是 Netty 的 ChannelPipeline,它是如何工作的?
Java 面试宝典是大明哥全力打造的 Java 精品面试题,它是一份靠谱、强大、详细、经典的 Java 后端面试宝典。它不仅仅只是一道道面试题,而是一套完整的 Java 知识体系,一套你 Java 知识点的扫盲贴。
它的内容包括:
- 大厂真题:Java 面试宝典里面的题目都是最近几年的高频的大厂面试真题。
- 原创内容:Java 面试宝典内容全部都是大明哥原创,内容全面且通俗易懂,回答部分可以直接作为面试回答内容。
- 持续更新:一次购买,永久有效。大明哥会持续更新 3+ 年,累计更新 1000+,宝典会不断迭代更新,保证最新、最全面。
- 覆盖全面:本宝典累计更新 1000+,从 Java 入门到 Java 架构的高频面试题,实现 360° 全覆盖。
- 不止面试:内容包含面试题解析、内容详解、知识扩展,它不仅仅只是一份面试题,更是一套完整的 Java 知识体系。
- 宝典详情:https://www.yuque.com/chenssy/sike-java/xvlo920axlp7sf4k
- 宝典总览:https://www.yuque.com/chenssy/sike-java/yogsehzntzgp4ly1
- 宝典进展:https://www.yuque.com/chenssy/sike-java/en9ned7loo47z5aw
目前 Java 面试宝典累计更新 400+ 道,总字数 42w+。大明哥还在持续更新中,下图是大明哥在 2024-12 月份的更新情况:
想了解详情的小伙伴,扫描下面二维码加大明哥微信【daming091】咨询
同时,大明哥也整理一套目前市面最常见的热点面试题。微信搜[大明哥聊 Java]或扫描下方二维码关注大明哥的原创公众号[大明哥聊 Java] ,回复【面试题】 即可免费领取。