目标: BIO、NIO、AIO 的区别是什么? 同/异步、阻/非阻塞的区别是什么? 文件读写最优雅的实现方式是什么? NIO 如何实现多路复用功能? 一,IO的介绍: (1)IO的全称其实是:Input/Output的缩写。 (2)我们通常所说的 BIO 是相对于 NIO 来说的,BIO 也就是 J ...
                            
                            
                                分类:
编程语言   时间:
2019-11-03 15:02:48   
                                阅读次数:
77
                             
                    
                        
                            
                            
                                    出处: Java NIO浅析 NIO(Non-blocking I/O,在Java领域,也称为New I/O),是一种同步非阻塞的I/O模型,也是I/O多路复用的基础,已经被越来越多地应用到大型应用服务器,成为解决高并发与大量连接、I/O处理问题的有效方式。 那么NIO的本质是什么样的呢?它是怎样与 ...
                            
                            
                                分类:
编程语言   时间:
2019-10-28 23:48:43   
                                阅读次数:
136
                             
                    
                        
                            
                            
                                    引言 实现并发编程有进程,线程,IO多路复用的方式。(并发和并行我们这里不区分,如果CPU是多核的,可能在多个核同时进行,我们叫并行,如果是单核,需要排队切换,我们叫并发) 进程和线程的区别 进程是计算机资源分配的最小单位,进程是对处理器资源(CPU),虚拟内存(1)的抽象, 虚拟内存是对主存资源( ...
                            
                            
                                分类:
其他好文   时间:
2019-10-28 13:08:40   
                                阅读次数:
92
                             
                    
                        
                            
                            
                                一、《计算机科学概论》 第四章——门与电路 (一)计算机和电学 电学首先要有电路(circuit),电路是由门(gate)组成的,实现特定的逻辑函数,可以执行更加复杂的任务。门是对电信号执行基本运算的设备,接受一个或多个输入,生成一个输出。三个描述和电路的表示法:布尔(boolean algebra ...
                            
                            
                                分类:
其他好文   时间:
2019-10-28 01:11:02   
                                阅读次数:
98
                             
                    
                        
                            
                            
                                    select是IO多路复用的一种方式,用来等待一个列表中的多个描述符的可读可写状态; 本文主要分析socket的select操作,所以对于select系统调用前面通用的部分,我们只分析其调用关系,如下,可见在do_select函数中,会调用文件操作的poll函数; socket文件操作结构实现如下, ...
                            
                            
                                分类:
其他好文   时间:
2019-10-27 23:07:23   
                                阅读次数:
83
                             
                    
                        
                            
                            
                                教材学习内容总结 本周学习了门电路、逻辑电路的构成以及基本的逻辑(布尔)代数运算,了解到计算机运算核心:一切算术运算可以用加法实现,而加法又可以通过逻辑运算实现;一切逻辑运算可以转化成用与或非运算,而或与非又可以用或非(与非)来表示;同时了解了计算机如何选择信号的输出:通过多路复用器(多控制信号输入 ...
                            
                            
                                分类:
其他好文   时间:
2019-10-27 12:59:00   
                                阅读次数:
70
                             
                    
                        
                            
                            
                                教材内容学习总结 本周学习了课本第四五章,我明白了门是如何构成计算机硬件的,了解了或 且 非 异或 或非 与非门以及它们的布尔运算律及多路复用器,并明白了冯·诺伊曼体系结构 读取-执行周期RAM和ROM 。之后又接触了触摸屏 嵌入式系统 并行体系结构 并明白了存储程序的概念及控制单元及算术逻辑单元是 ...
                            
                            
                                分类:
其他好文   时间:
2019-10-27 10:40:02   
                                阅读次数:
62
                             
                    
                        
                            
                            
                                    epoll(2) 使用及源码分析的引子 本文代码取自内核版本 4.17 epoll(2) I/O 事件通知设施。 epoll 是内核在2.6版本后实现的,是对 select(2)/poll(2) 更高效的改进,同时它自身也是一种文件,不恰当的比方可以看作 eventfd + poll。 多路复用也是 ...
                            
                            
                                分类:
其他好文   时间:
2019-10-26 17:39:45   
                                阅读次数:
88
                             
                    
                        
                            
                            
                                    tomact调优:可以考虑从内存,并发,缓存,安全,网络,系统等进行入手 内存优化修改内存等 JVM相关配置Linux下修改TOMCAT_HOME/bin/catalina.shJAVA_OPTS="-server -XX:PermSize=512M -XX:MaxPermSize=1024m -X ...
                            
                            
                                分类:
其他好文   时间:
2019-10-26 15:38:23   
                                阅读次数:
81
                             
                    
                        
                            
                            
                                    Redis 是单线程+多路IO复用技术 多路复用:使用一个线程来检查多个文件描述符的就绪状态 如果有一个文件描述符就绪,则返回 否则阻塞直到超时 得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(线程池) 阻塞lO:给女神发一条短信, 说我来找你了,然后就默默的一直等着 女神下 ...
                            
                            
                                分类:
编程语言   时间:
2019-10-23 21:58:28   
                                阅读次数:
171