Netty(十二) 常见面试题总结

1. 请简单描述一下 Reactor 模型在 Netty 中的应用。 在Netty-Server 中一般使用的是 Reactor 的 多线程 池模型,而Netty-Client 中一般使用的是 Reactor 单线程池模型。具体来说,NioEventLoopGroup 充当着线程池。每一个 NioEventLoopGroup 中都包含了多个…

hello hello 发布于 2023-11-29

Netty(八)源码解析 之 NioEventLoopGroup和NioEventLoop源码

NioEventLoopGroup和NioEventLoop 源码 分析 1. NioEventLoopGroup的构造分析 EventLoopGroup parentGroup = new NioEventLoopGroup(); EventLoopGroup childGroup = new NioEventLoopGroup();…

hello hello 发布于 2023-11-28

Netty(九)源码解析 之 NioEventLoop 任务的执行

NioEventLoop 任务的执行 今天跟核心方法,关于任务的处理 下面是EventLoop第一次执行execute方法的时候,会触发的逻辑,会执行一个核心Runnable任务,该任务会进行 selector 的选择,然后处理三类任务,以及I/O就绪事件:…

hello hello 发布于 2023-11-28

Netty(十 )源码解析之 客户端启动、Pipline源码分析

1. 客户端启动 服务端启动已经说完了,接下来看下客户端启动,有了之前的经验,现在看客户端会容易的很多: public class SomeClient { public static void main(String[] args) throws InterruptedException { NioEventLoopGroup group = new…

hello hello 发布于 2023-11-28

Netty(十一)源码解析 之 Channel 的 inBound 与 outBound

Channel 的 inBound 与 outBound 处理器 1. 先了解一下相关核心类的API ChannelHandler、ChannelInbound/OutboundHandler…

hello hello 发布于 2023-11-28

Netty(七)源码解析 之 Reactor 模型、Netty的服务端启动源码

Netty 源码解析 1. Reactor 模型 在解析 Netty 源码之前,我们首先要搞清楚 Reactor 模型。因为现在的网络通信框架,大多数都是基于 Reactor 模型进行设计和开发的,Netty 也不例外。 1.1 Reactor 单线程模型 Selector…

hello hello 发布于 2023-11-27

Netty(六)源码解析 之简述NIO、用NIO实现Socket通信 和 群聊

由于 Netty 的底层是 NIO,所以在读 Netty 源码之前,首先了解一下 NIO 网络编程 相关知识。 直接看官方的注释,因为注释是最权威的。 1. NIO 简介 NIO,New IO(官方),Non-blocking IO(非官方),是 JDK1.4 中引入的一种新的 IO 标准,是一种同步非阻塞 IO。NIO 是以 块…

hello hello 发布于 2023-11-27

Netty(四)高级应用 之 手写Tomcat

手写 Tomcat 确切地说,这里要手写的是一个 Web 容器,一个类似于 Tomcat 的容器,用于处理 HTTP请求。该 Web 容器没有实现 JavaEE 的 Servlet 规范,不是一个 Servlet 容器。但其是类比着Tomcat 来写的,这里定义了自己的请求、响应及 Servlet,分别命名为了…

hello hello 发布于 2023-11-27

Netty(五) 高级应用 之 手写 RPC 框架

1. 手写 RPC 框架 1.1 RPC 简介 RPC,Remote Procedure Call,远程过程调用,是一种通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。在 OSI 网络通信模型中,RPC 跨越了传输层(第四层,传输协议 TCP/ UDP ,即通过 ip+port 进行通信)和应用层(第七层,传输协议有…

hello hello 发布于 2023-11-27

Netty入门 (一)概述(核心概念、执行流程)

Netty 入门 1. Netty 概述 1.1 Netty 简介 Netty 官网上可以看到最权威的介绍: Netty 是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能服务器和客户端。 Netty 是一个 NIO 客户机-服务器框架,它支持快速、简单地开发网络应用程序,如服务器和客户机。它大大简化了网络编程,如 TCP 和 UDP…

hello hello 发布于 2023-11-24
上一页 下一页