目录一. 基础selectpollepoll二. redis 与多路复用 一. 基础首先知道一下五种io模型有个概念Blocking IO: 阻塞IO NoneBlockin IO: 非阻塞IO IO multiplexing (redis6实际应用的io) : IO多路复用 signal driven IO: 信号驱动IO asynchronous IO: 异步IO通过BIO,NIO 解释多路            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-15 13:03:47
                            
                                72阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            NIO(non blocking IO),同步非阻塞IO 三大核心组件:Channel,Buffer,Selector ...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-07-23 14:05:00
                            
                                47阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            这里写目录标题1.IO(阻塞IO)和NIO(非阻塞IO)的概念2.redis的线程模型3.redis的通信协议 1.IO(阻塞IO)和NIO(非阻塞IO)的概念1.jdk1.4引入了NIO,但也有很多人在用阻塞IO,这两者有什么区别呢?假设线程1现在要从服务端读取1个10个字节的数据,但是只读到了5个字节,没有读完,那么线程1就会进入到阻塞状态。NIO就是线程1即使只读到了5个字节也会直接将这读            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-09 22:20:43
                            
                                138阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录一、redis介绍二、redis数据类型三、redis集群四、redis持久化方案五、Redis的主从复制六、Redis哨兵机制七、Redis事务及分布式锁八、Redis消息模式九、缓存穿透、缓存击穿、缓存失效十、缓存淘汰策略之LRU十一、缓存一致性 一、redis介绍Redis是一种NoSQL数据库(多用于解决解决高并发、高可用、高可扩展、大数据存储问题。NoSQL可以作为关系型数据库            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 15:56:07
                            
                                30阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            NIO网络模型NIO本身是基于事件驱动思想来完成的,其主要想解决的是BIO的大并发问题: 在使用同步I/O的网络应用中,如果要同时处理多个客户端请求,或是在客户端要同时和多个服务器进行通讯,就必须使用多线程来处理。也就是说,将每一个客户端请求分配给一个线程来单独处理            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-02 14:35:51
                            
                                151阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            存放数据的过程: 写数据模式: 读取数据:            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-02-19 00:26:00
                            
                                207阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            NIO网络模型NIO本身是基于事件驱动思想来完成的,其主要想解决的是BIO的大并发问题: 在使用同步I/O的网络应用中,如果要同时处理多个客户端请求,或是在客户端要同时和多个服务器进行通讯,就必须使用多线程来处理。也就是说,将每一个客户端请求分配给一个线程来单独处理。这样做虽然可以达到我们的要求,但同时又会带来另外一个问题。由于每创建一个线程,就要为这个线程分配一定的内存空间(也叫工作存储器)...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2021-08-06 14:52:19
                            
                                330阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # Java NIO模型详解
## 1. 简介
Java NIO(New Input/Output)是Java中用于非阻塞IO操作的框架。相对于传统的Java IO(BIO),NIO提供了更高效的IO操作方式,尤其适用于高并发的网络编程场景。
在Java NIO模型中,主要涉及以下三个核心组件:
1. 通道(Channel):负责读写数据的通道,可以通过网络、文件等方式进行数据的传输。
2            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2023-08-26 06:30:08
                            
                                61阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            所谓NIO,即new I/O,在JDK1.4用于改善原来I/O中的不足,通过进一步减少I/O操作中阻塞的粒度来提高I/O效率,所以也被称为NonBlocking I/O,非阻塞I/O一、IO与NIO的区别要说两种I/O的区别,其实它是被划分进不同的I/O模型中的,所以我们就先来看一下五种I/O模型的区别五种I/O模型:1.1 阻塞I/O模型在用户进程(线程)中调用执行的时候,进程会等待该IO操作,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-16 18:53:27
                            
                                47阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Tomcat目前支持BIO(阻塞 I/O)、NIO(非阻塞 I/O)、AIO(异步非阻塞式IO,NIO的升级版)、APR(Apache可移植运行库)模型,本文主要介绍NIO模型,目前NIO模型在各种分布式、通信、Java系统中有广泛应用,如Dubbo、Jetty、Zookeeper等框架中间件中,都使用NIO的方式实现了基础通信组件BIO的弊端传统的BIO模型,每个请求都会创建一个线程,当线程向内            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-01-24 19:55:33
                            
                                320阅读
                            
                                                                                    
                                2评论
                            
                                                 
                 
                
                             
         
            
            
            
            终于,这两天的考试熬过去了, 兴致冲冲的来整理笔记来, 这篇博客是我近几天的NIO印象笔记汇总,记录了对Selector及Selector的            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-09-06 10:55:13
                            
                                116阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Weblogic的线程数一直比较少,我一直认为他是采用的NIO模型,今天突然发现他的accept线程栈是采用的BIO,DynamicListenThread线程栈:
java.net.PlainSocketImpl.socketAccept(Native Method)
java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390)
&nb            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2012-07-25 10:54:48
                            
                                4085阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            上一篇我们讲到了关于TCP/IP协议的一些内容,这些是网络编程的必备知识。在了解NI            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-08-26 07:27:39
                            
                                154阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            通过之前的Unix的IO模型介绍,想必也了解到了5种IO模型。java的NIO是属于同步非阻塞我...            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2022-08-26 07:48:08
                            
                                106阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            一、概念NIO即New IO,这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java API中提供了两套NIO,一套是针对标准输入输出NIO
另一套就是网络编程NIO
二、NIO和IO的主要区别下表总结了Java IO和NIO之间的主要区别:1、面向流与面向缓冲 Java IO和NIO之间第一个最大的区别            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-10 18:39:57
                            
                                89阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            java内存模型JMM理解整理  什么是JMM  JMM即为JAVA 内存模型(java memory model)。因为在不同的硬件生产商和不同的操作系统下,内存的访问逻辑有一定的差异,结果就是当你的代码在某个系统环境下运行良好,并且线程安全,但是换了个系统就出现各种问题。Java内存模型,就是为了屏蔽系统和硬件的差异,让一套代码在不同平台下能到达相同的访问结果。JMM从java 5开始的JSR            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-28 13:53:03
                            
                                64阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis是内存数据库,主要存储方式是key-value模型。 在说Redis之前我们先看一下key-values数据存储的ranking。 截止到发文前最新出炉的排名状况,Redis在key-value数据存储仓库,依然高居头名。 这里还要提及一个常识性的知识,数据从硬盘中检索的速度是ms(毫秒)级,数据从内存中检索的速度是ns(纳秒)级,二者效率相差10万倍左右。那么你会说了我们可不可以把业务            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-05-29 10:02:43
                            
                                112阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Redis的底层模型Redis的NIO:Redis是单线程的,底层通过IO多路复用(NIO)实现对多个文件描述符的监控,是基于epoll实现。其优点除了epoll本身不用让客户端去轮询所有的IO操作外,还在于:epoll 没有最大并发连接的限制,上限是最大可以打开文件的数目,这个数字一般远大于 2048, 一般来说这个数目和系统内存关系很大 ,具体数目可以 cat /proc/sys/fs/fil            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-28 16:47:35
                            
                                36阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            关于BIO,NIO,AIOBIO是一个连接一个线程。BIO是同步阻塞NIO是一个请求一个线程。NIO是同步非阻塞AIO是一个有效请求一个线程。AIO是异步非阻塞。redis为什么效率高,查询快?1.C语言实现,执行速度快2.纯内存操作,数据读写在内存中3.基于非阻塞的I/O多路复用机制4.单线程避免了上下文切换redis为什么使用单线程模型?redis的单线程模型指的是文件事件处理器单线程,即单线            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-21 22:22:11
                            
                                110阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            前言自己以前在Java NIO这块儿,一直都是比较薄弱的,以前还因为这点知识而错失了一个机会。所以最近打算好好学习一下这部分内容,我想应该也会有朋友像我一样,一直想闹明白这块儿内容。但是一直无从下手,每次被问到什么NIO,BIO,AIO就慌,下面我们先从一些基本概念来慢慢了解NIO这部分内容。同步与异步同步和异步是比较好理解的,网上也有好多解释。下面我通过个人的理解来解释这两个概念可能会通俗一些,            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-16 10:16:22
                            
                                40阅读
                            
                                                                             
                 
                
                                
                    