20.1 说说IO的交互流程
难度:★
重点:★
白话解析
这道题主要是用来帮助理解后面题目的,IO交互主要分为两种:本地IO和网络IO。
1、本地IO:数据在磁盘上,通过系统调用read()方法读取数据到内核空间的缓冲区,然后再读取到 用户空间的缓冲区,这就是IO的交互过程。

2、网络IO:数据不是从磁盘读取,而是从IO设备网卡中读取数据。

本地IO是从本地的文件中读取数据,而网络IO从网卡中读取网络中的数据,那么,网络也要借用这个文件的概 念,接收网卡中的数据,所以在java中定义了一个Socket接口,用来进行网络之间的数据传输。
3、用户空间:指操作系统分配给应用程序的内存区域,用于运行用户编写的应用程序代码。这是应用程序的正常执行环境,它包括应用程序的代码和数据。说白了就是运行应用程序的内存区域。
内核空间:是操作系统的核心组件所运行的内存区域。操作系统内核是计算机系统的底层管理程序,负责管理硬件资源、执行系统级任务、提供服务和调度进程。内核空间
深入理解Netty:网络通信模型与优化
本文详细介绍了Netty网络框架,包括IO交互流程、Java的BIO、NIO、多路复用模型、Reactor模式、Netty的优势、连接管理、事件驱动和异步模型的工作原理、Channel和ChannelPipeline的概念,以及Netty解决粘包和拆包问题的方法。文章深入剖析了Netty在处理高并发、高性能网络通信时的优秀特性,如零拷贝技术,强调了其相对于传统Java网络编程的优越性。
订阅专栏 解锁全文
1380

被折叠的 条评论
为什么被折叠?



