I/O介绍I/O:网络IO:本质是socket文件读取磁盘IO:每次IO,都要经由两个阶段:第一步:将数据从文件先加载至内核内存空间(缓冲区),等待数据准备完成,时间较长第二步:将数据从内核缓冲区复制到用户空间的进程的内存中,时间较短I/O模型同步/异步:关注的是消息通信机制同步:synchronous,调用者等待被调用者返回消息,才能继续执行异步:asynchronous,被调用者通过状态、通知            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-04 10:21:29
                            
                                48阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            博客主页:?看看是李XX还是李歘歘??每天分享一些包括但不限于计算机基础、算法等相关的知识点??是一旦调用返回...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-29 17:22:38
                            
                                93阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作为软件开发者特别是server开发,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-11-11 15:51:41
                            
                                210阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            本地IO:程序读写磁盘数据很慢,于是在内核中建立了pagecache进行加速。 不同的磁盘文件可能对应不同pagecache。 如果程序读写速度太快,可能pagecache来不及向磁盘写数据,需要注意双写一致性。 网络IO:待处理的数据存储在网卡的缓存buf中,每和其他主机建立一个连接,都会在内核新 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-08-25 16:08:00
                            
                                1156阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            什么是IOI/O(Input/Outpu) 即输入/输出 。 从计算机结构的视角来看的话, I/O 描述了计算机系统与外部设备之间通信的过程。 从应用程序的视角来看的话,我们的应用程序对操作系统的内核发起 IO 调用(系统调用),操作系统负责的内核执行具体的 IO 操作。也就是说,我们的应用程序实际上只是发起了 IO 操作的调用而已,具体 IO 的执行是由操作系统的内核来完成的。 当应用程序发起            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-19 09:23:59
                            
                                93阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            I/O 类库的基本架构java的io操作类可以分为四组,分别为:基于字节操作的 I/O 接口:InputStream 和 OutputStream基于字符操作的 I/O 接口:Writer 和 Reader基于磁盘操作的 I/O 接口:File基于网络操作的 I/O 接口:Socket前两组主要是根据传输数据的格式,后两组主要根据传输数据的方式。 I/O的核心问题是将什么样的数据,写到什么地方的问            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-27 18:15:58
                            
                                62阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             1. Nginx 进程模型简介  Nginx默认采用多进程工作方式,Nginx启动后,会运行一个master进程和多个worker进程。其中master充当整个进程组与用户的交互接口,同时对进程进行监护,管理worker进程来实现重启服务、平滑升级、更换日志文件、配置文件实时生效等功能。worker用来处理基本的网络事件,worker之间是平等的,他们共同竞争来处理来自客户端的请求。生            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-19 21:35:21
                            
                                65阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            4种情况: 1、输入操作:等待数据到达套接字接收缓冲区; 2、输出操作:等待套接字发送缓冲区有足够的空间容纳将要发送的数据; 3、服务器接收连接请求:等待新的客户端连接请求的到来; 4、客户端发送连接请求:等待服务器回送客户端的发起的SYN所对应的ACK。 5种网络IO模型: ·阻塞IO:等待完成  ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-10-07 20:22:00
                            
                                112阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            IO模型类型 Linux内核将所有的外部设备都当作文件来处理,对于文件的读写会调用内核提供的命令返回一个file scripter(fd文件描述符),对于一个Socket的读写也会有对应的描述符——socket fd,描述符是一个数字指向内核中的结构体。 阻塞IO 	最常用的IO模型就是阻塞IO模 ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-09-07 10:05:00
                            
                                259阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            同步和异步,阻塞和非阻塞 同步和异步 关注的是结果消息的通信机制 同步:同步的意思就是调用方需要主动等待结果的返回 异步:异步的意思就是不需要主动等待结果的返回,而是通过其他手段比如,状态通知,回调函数等。 阻塞和非阻塞 主要关注的是等待结果返回调用方的状态 阻塞:是指结果返回之前,当前线程被挂起,            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-10 17:22:10
                            
                                250阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            nginx在启动后,在unix系统中会以daemon的方式在后台运行,后台进程包含一个master进程和多个worker进程。当然nginx也是支持多线程的方式的,只是我们主流的方式还是多进程的方式,也是nginx的默认方式。nginx采用多进程的方式有诸多好处,所以我就主要讲解nginx的多进程模式吧。nginx在启动后,会有一个master进程和多个worker进程。master进程主要用来管            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-16 10:30:23
                            
                                50阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在讲到Nginx负载均衡的时候,其实Nginx是七层负载均衡,后续我们还会涉及到LVS,是四层负载均衡,七层和四层是什么概念呢?这就必须提到网络模型。网络模型是计算机网络基础的一部分内容,一般大学计算机系都会讲到此知识点,并且会作为考点;其实在面试过程中有时候也会被问到。所以我们还是有必要来复习或学习一下这块的一些重要知识的。网络模型就是 OSI(Open System Interconnect)            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-16 16:23:03
                            
                                34阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            我们经常听到说Redis是单线程的,也会有疑问:为什么单线程的Redis能那么快?这里要明白一点:Redis是单线程,主要是指Redis的网络IO和键值对读写是由一个线程来完成的,这也是Redis对外提供键值存储服务的主要流程。但Redis的其他功能,比如持久化、异步删除、集群数据同步等,都是由额外的线程执行的。我们知道多线程能够提升并发性能,那为什么Redis会采用单线程,而非多线程?为什么单线            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-15 23:49:23
                            
                                69阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            I/O 模型简单的理解: 就是数据的发送和接收使用哪种通道, 这个通道决定了程序通讯性能.Java 共支持3中网络编程模型: BIO NIO AIO.BIO特点: BIO 是 blocking I/O, 同步阻塞, 就是传统的 Java 原生阻塞模型.采用 BIO 通信模型的服务端, 通常由一个独立的 Acceptor 线程负责监听客户端的连接, 它接收到客户端连接请求之后 为每个客户端创建一个新            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-11-28 08:26:09
                            
                                40阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            导言在目前的技术选型中,Redis 俨然已经成为了系统高性能缓存方案的事实标准,因此现在 Redis 也成为了后端开发的基本技能树之一,Redis 的底层原理也顺理成章地成为了必须学习的知识。Redis 从本质上来讲是一个网络服务器,而对于一个网络服务器来说,网络模型是它的精华,搞懂了一个网络服务器的网络模型,你也就搞懂了它的本质。本文通过层层递进的方式,介绍了 Redis 网络模型的版本变更历程            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-10 21:42:24
                            
                                83阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            网络模型用户空间和内核空间任何Linux发行版,其系统内核都是Linux。我们的应用都需要通过Linux内核与硬件交互。**内核:**本质上可以理解为一种软件,控制计算机的硬件资源,并提供上层应用程序运行的环境。为了保证系统安全,有些指令不能随便被执行去操作底层资源,这些内核指令只能在内核空间执行,普通程序在用户空间执行,但有时用户程序中可能涉及到内核指令的调用,此时就需要陷入内核中运行,CPU从            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-15 07:57:27
                            
                                124阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录第一章 概述第二章 五种IO 网络模型1. 阻塞IO(blocking I/O)2. 非阻塞IO(nonblocking I/O)3. 多路复用IO(I/O multiplexing (select、poll、epoll))4. 信号驱动IO(signal driven I/O (SIGIO))5. 异步IO(asynchronous I/O)第三章 汇总第四章 libevent1. li            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-16 00:30:52
                            
                                74阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Nginx:web服务器:http协议;http协议:html,MIME(多用途互联网邮件扩展)major/minor:text/html,text/plain,image/jpeg,..web资源:URL(scheme://server:port/path/to/source)http:80https:443方法:GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONS,..            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2018-11-06 23:28:36
                            
                                429阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、Nginx 性能设计1)网络性能:Nginx 在 Linux 上使用了 Epoll 网络模型,在全异步模式及多进程支持下,可处理高达几万至几十万的并发。2)网络效率:Nginx 使用长连接 keepalive 来减少建立、关闭带来的网络交互,使用压缩算法提高网络利用率。3)时延:使用带宽控制技术,使各个会话之间带宽尽量相等。二、Nginx 架构Nginx 使用事件驱动的服务模型,把一个处理的过            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-18 19:50:10
                            
                                27阅读
                            
                                                                             
                 
                
                             
         
            
            
            
                                                       Nginx高并发之IO模型介绍   nginx 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。众所周知nginx的相比于apache有更高的并发,可以接收处理更多的访问请求,这得益于IO模型,下面为大家介绍IO模型相关。 一、先了解下同步异步,阻塞和非阻塞:同步/异步            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2019-07-21 13:41:02
                            
                                2715阅读