NIO
蚩尤后裔-汪茂雄
朝为田舍郎,暮登天 子堂;将相本无种,男儿当自强。
展开
-
Java I/O 进化之路、传统 BIO 编程
在正式学习 Java NIO之前,有必要先了解 Java 的整个 I/O 框架演进过程!Java I/O基础Java JDK 1.4 推出 Java NIO 之前,基于 Java 的所有 Socket 通信都采用了同步阻塞IO(BlockingIO—BIO),这种一请求一应答的通信模型简化了上层的应用开发,但是在性能和可靠性方面却存在着巨大的瓶颈。平时使用的 TCP 编程就是典型的 B...原创 2018-10-13 16:00:20 · 1095 阅读 · 0 评论 -
传统 BIO 编程
BIO 通 信《Java I/O 进化之路》中已经介绍了 Java I/O 编程的历史过程,为了更好的掌握 NIO 编程,现在先了解原始的 BIO 编程,TCP 就是典型的 BIO 编程。 网络编程的基本模型时 Client/Server 模型,也就是两个进程之间相互通信其中服务端提供位置信息(绑定的 IP 地址与监听的端口),客户端通过连接操作向服务器监听地址发起连接骑请求,通过三次握手...原创 2018-10-14 16:34:58 · 1294 阅读 · 0 评论 -
伪异步 I/O 编程
目录本文导读伪异步 I/O总 结本文导读《传统 BIO 编程》同步阻塞 I/O 一个链接需要一个线程处理,而在线程方面仍有优化的余地,Java JDK1.5 开始引入线程池,也叫 Executor 框架 或Java 并发框架,使用线程池来替代单个的线程,其优点不言而喻。 线程池可以参考《线程池理论 之 线程池饱和策略 与 工作队列排队策略》、《线程池(ThreadPoo...原创 2018-10-15 17:08:41 · 1119 阅读 · 0 评论 -
NIO 理论 与 编程
目录NIO 简 介Buffer 缓冲区Channel 通道Selector 多路复用器NIO 编 程NIO 服务端编码步骤NIO 服务端源码分析NIO 客户端编码步骤NIO 客户端源码分析结果分析NIO 简 介NIO 官方叫法叫 New I/O,原因在于它相比于之前的 I/O 类库是新增的。而由于老的 I/O 类库是阻塞 I/O,New I/O 类库...原创 2018-10-19 15:09:57 · 648 阅读 · 0 评论 -
SelectionKey 说 明
SelectionKey 对象的有效期间,Selector 会一直监控与 SelectionKey 对象相关的事件,如果事件发生,就会把 SelectionKey 对象加入到 selected-keys 集合中。 在以下情况下,SelectionKey 对象会失效,意味着 Selector 再也不会监控与它相关的事件: 程序调用 SelectionKey 的cancel()方法 ...原创 2018-10-20 12:45:45 · 3700 阅读 · 0 评论 -
AIO 理论 与 编程
目录AIO 理论简介AIO 编程服务端客户端测试结果本文承接《NIO 理论 与 编程》AIO 理论简介1、NIO 2.0 引入了新的异步通道的概念,并提供了异步文件通道和异步套接字通道的实现。异步通道提供了以下两种方式获取操作结果。1)通过 java.util.concurrent.Future 类来实现异步操作的结果2)在执行异步操作的时候传入一个 ja...原创 2018-10-30 16:17:54 · 671 阅读 · 0 评论