NIO
Alan_ZhQ
哇咔咔!We are young!
展开
-
3. Channel 基本应用
3. Channel 基本应用 3.1. Channel 概述 NIO 是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。如图所示: NIO 中 Channel 的一些具体实现类有: 1) FileChannel :从文件中读写数据。 2) DatagramChannel :能通过 UDP 读写网络中的数据。 ...原创 2019-07-18 11:25:15 · 3168 阅读 · 0 评论 -
4. Selector 基本应用
4. Selector 基本应用 4.1. Selector 概述 Selector 是 Java NIO 中实现多路复用技术的关键,多路复用技术又是提高通讯性能的一个重要因素。项目中可以基于 selector 对象实现了一个线程管理多个 channel 对象,多个网络链接的目的。例如:在一个单线程中使用一个Selector 处理 3 个 Channel,如图所示: 为什么使用 S...原创 2019-07-18 15:44:07 · 199 阅读 · 0 评论 -
5. Tomcat 中的 NIO 应用
5. Tomcat 中的 NIO 应用 5.1. Tomcat 核心架构 Tomcat 是一个 apache 推出的一个 web 应用服务器,核心功能就是解析 Http协议,处理网络 IO 操作,执行 Servlet 对象,其简易架构如下: 其中: 1) Server:代表整个容器,它可能包含一个或多个 Service 和全局的对象资源; 2) Service:包含一个或多个 ...原创 2019-07-18 16:55:33 · 504 阅读 · 0 评论 -
6. Netty 中的 NIO 应用
6. Netty 中的 NIO 应用 6.1. Netty 中的 NIO 模型分析 Netty 是一个基于 NIO 技术的网络编程框架,底层实现了对 java 中 NIO API的封装。它基于异步事件驱动,可以快速开发高性能网络应用程序,并在可维护性方面有很好的表现 Netty 的健壮性、功能、性能、可定制性和可扩展性在同类框架中都首屈一指,它已经得到成百上千的商用项目验证,当然这...原创 2019-07-18 17:47:26 · 309 阅读 · 0 评论 -
NIO 基本应用(IO 加强)
目录(点击链接跳转): 1. Nio 简介 ................................................. 1.1. NIO 概述 .......................................... 1.2. NIO&IO 分析 ....................................... 1.2.1. ...原创 2019-07-17 11:39:51 · 202 阅读 · 0 评论 -
1. Nio 简介
1.1. NIO 概述 Java NIO(New IO)是从 Java 1.4 版本开始引入的一组新的 IO API(其核心构成有 Channels,Buffers,Selectors三部分),目的主要是基于这组 API 改善 IO操作性能。 1.2. NIO&IO 分析 1.2.1. IO 操作流程 对于一个 network IO (这里我们以 read 举例),它会涉及到...原创 2019-07-17 11:52:22 · 357 阅读 · 0 评论 -
2. Buffer 基本应用
2. Buffer 基本应用 2.1. Buffer 概述 缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存。这块内存被包装成 NIO Buffer 对象,并提供了一组方法,用来方便的访问该块内存。 Java NIO 里关键的 Buffer 实现: 1) ByteBuffer 2) CharBuffer 3) DoubleBuffer 4) FloatBuffer ...原创 2019-07-17 15:47:03 · 1129 阅读 · 0 评论