IO模型之AIO代码及其实践详解
摘要:一、AIO简介 AIO是java中IO模型的一种,作为NIO的改进和增强随JDK1.7版本更新被集成在JDK的nio包中,因此AIO也被称作是NIO2.0。区别于传统的BIO(Blocking IO,同步阻塞式模型,JDK1.4之前就存在于JDK中,NIO于JDK1.4版本发布更新)的阻塞式读写,A
阅读全文
posted @
2019-12-13 08:41
kosamino
阅读(4161)
推荐(3) 编辑
IO模型之NIO代码及其实践详解
摘要:一、简介 NIO我们一般认为是New I/O(也是官方的叫法),因为它是相对于老的I/O类库新增的( JDK 1.4中的java.nio.*包中引入新的Java I/O库)。但现在都称之为Non-blocking I/O,即非阻塞I/O,因为这样叫,更能体现它的特点。而下文中的NIO,不是指整个新的
阅读全文
posted @
2019-12-12 18:12
kosamino
阅读(2107)
推荐(0) 编辑
IO模型之BIO代码详解及其优化演进
摘要:一、BIO简介 BIO是java1.4之前唯一的IO逻辑,在客户端通过socket向服务端传输数据,服务端监听端口。由于传统IO读数据的时候如果数据没有传达,IO会一直等待输入传入,所以当有请求过来的时候,新起一条线程对数据进行等待、处理,导致每一个链接都对应着服务器的一个线程。 BIO是同步阻塞的
阅读全文
posted @
2019-12-06 04:07
kosamino
阅读(1036)
推荐(0) 编辑
7层网络以及5种Linux IO模型以及相应IO基础
摘要:一、七层网络模型 OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,它是一个七层的、抽象的模型体。 1、物理层 并不是物理媒体本身,它只是开放系统中利用物理媒体实现物理连接的功能描述和
阅读全文
posted @
2019-12-05 05:34
kosamino
阅读(1544)
推荐(0) 编辑
如何实现高性能的IO及其原理?
摘要:程序运行在内存以及IO的体现 首先普及一下常识,如图所示: 1、在整个内存空间中,跑着各种各样的程序,有Java程序、C程序,他们共用一块内存空间。 2、对于Java程序,JVM会申请一块堆空间,通过Xmx可以设置,其余空间是堆外空间,其中每个线程有自己的线程栈,保证线程内存隔离,堆空间使用完以后,
阅读全文
posted @
2019-11-27 20:34
kosamino
阅读(1600)
推荐(0) 编辑
Redis学习之Jedis源码原理分析探究(BIO手写Jedis客户端)
摘要:在Redis的使用过程中,大多数人都是使用现成的客户端,如Jedis,Redisson,Lettuce。因此本文研究用BIO的方式手写Redis客户端尝试,对遇到的问题进行探究及总结。 如何从架构角度思考架构分层? Redis通讯协议RESP是怎么回事? 如何基于BIO实现Redis客户端? Red
阅读全文
posted @
2019-11-14 02:42
kosamino
阅读(875)
推荐(0) 编辑