
Java IO
plumblum
这个作者很懒,什么都没留下…
展开
-
Java NIO(1):Buffer、Channel 和 Selector原理和常用函数
Java NIO(1):Buffer、Channel 和 Selector#原创 2018-07-29 22:03:32 · 379 阅读 · 0 评论 -
5种I/O模型的分析
1 阻塞式IO模型 网络模型: 在这个模型中,应用程序为了执行这个read操作,会调用相应的一个system call,将系统控制权交给内核,然后就进行等待(这个等待的过程就是被阻塞了),内核开始执行这个system call,执行完毕后会向应用程序返回响应,应用程序得到响应后,就不再阻塞,并进行后面的工作。 场景描述: 在饭店领完号后,前面还有n桌,不知道什么时候到...原创 2018-07-27 17:01:39 · 329 阅读 · 0 评论 -
2.1Java 阻塞式io
Java 阻塞式io编程执行流程总体流程图1.Server创建连接(ServerSocketChannel)开启端口(SocketAddress)并绑定bind()循环监听1)等待请求连接serversocketchannel.accept() 【发生阻塞】2)每个SocketChannel开启线程读取数据。2.Client开启socketChannel创建连接soc...原创 2018-09-28 10:15:16 · 226 阅读 · 0 评论 -
2.2 Java 非阻塞io(NIO)
Java 非阻塞io(NIO)执行流程1.Server开启通道选择器Selector创建ServerSocketChannel通道 并绑定接口ServerSocketChannel 通道注册到selectorserverSocketChannel.register(selector, SelectionKey.OP_ACCEPT)并指定SelectionKey(通道类型)...原创 2018-09-28 11:04:27 · 216 阅读 · 0 评论 -
2.3Java 异步io式(AIO)
Java 异步io式(AIO)执行流程AIO(proactor模型):线程发起IO请求,立即返回;内存做好IO操作的准备之后,做IO操作,直到操作完成或者失败,通过调用注册的回调函数通知线程做IO操作完成或者失败。异步非阻塞,服务器实现模式为一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理,代码1.serverpublic class Se...原创 2018-09-28 15:20:19 · 3674 阅读 · 0 评论