IO
郑琨51
好好学习,只争朝夕
展开
-
BIO、NIO和AIO一文搞懂
目录BIO缺点服务端代码客户端NIONIO三大核心组件server端代码client端代码NIO服务端程序详细步骤AIO服务端代码客户端代码简单总结阻塞和非阻塞同步和异步 BIO 阻塞式IO。一个线程对应一个客户端。 缺点 IO代码里read操作是阻塞操作,如果连接不做数据读写操作会导致线程阻塞,浪费资源。 线程太多的情况下服务器压力较大。 服务端代码 public class SocketServer { public static void main(String[] args) thr原创 2020-12-26 18:14:04 · 148 阅读 · 0 评论 -
搞定BIO和NIO
搞定BIO和NIO几个基本概念内核空间和用户空间IO阶段阻塞IONIO (Non_blocking IO/New IO)BufferChannelSelector 几个基本概念 内核空间和用户空间 用户代码在用户空间,是无法直接读取文件、网络等底层数据的,必须要通过内核空间进行操作。 就是说,IO操作必须要进行用户态和内核态的转换,在linux系统中,所有的设备都被抽象为文件,网络socket也是文件,所有的文件操作都要经历多次用户态和内核态的转换,经历多次数据在内核空间和用户空间的复制。 IO阶段 IO阶原创 2020-08-25 23:02:29 · 93 阅读 · 0 评论