`
mina_java
  • 浏览: 71008 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Mina入门:Java NIO基础概念

阅读更多

 

JDK1.4引入了Java NIO API(Java New IO),Java NIO得到了广泛应用。NIO允许程序进行非阻塞IO操作。java.nio.* 包括以下NIO基本结构:

 

  • Buffer - 数据的容器;
  • Chartsets - 针对字节与Unicode的容器转换器;
  • Channels - 代表IO操作的实体连接;
  • Selectors - 提供可选择的、可复用的非阻塞IO;

Java NIO引入了两个新的概念:通道Channel和选择器Selector

Channels是服务端和客户端进行通信的接口-----原来是直接的IO操作,客户端发信息给服务端,服务端从OutputStream中读取,然后向InputStream中写数据;现在则直接从Channel中读取或写入数据;

Selectors是一个多路复用器:所有的通道向它注册事件,因此它管理了所有的通道信息,并轮询各个通道的状态,一旦某个通道某事件发生(比如有数据读或可以写入数据),则通知该管道对应事件的处理器去处理它;

 

客户端连接上服务端后,首先每个客户端都要与服务端建立一个通道(SocketChannel);然后每个通道向选择器(Selector)注册事件,注册器会轮询查看每个通道是否有事件发生,一旦某通道有事件发生,比如Client1SocketChannel有数据了,就触发了读就绪事件,可以进行读取的操作啦。

 

 

9
3
分享到:
评论

相关推荐

    Java springboot 整合mina 框架,nio通讯基础教程,mina框架基础教程.zip

    在这个压缩包中,包含了“Java_NIO基础视频教程”和“MINA视频教程”,你可以通过观看这些教程,了解和学习NIO和Mina的基本用法。同时,“Netty快速入门视频(52im.net).txt”虽然不是直接与Mina相关的,但Netty也是...

    Java视频教程 Java游戏服务器端开发 Netty NIO AIO Mina视频教程

    [第4节] JavaNIO流-通道1.flv [第5节] Java NIO流-通道2.flv [第6节] Java NIO流-socket通道操作.flv [第7节] Java NIO流-文件通道操作.flv [第8节] Java NIO流-选择器 .flv [第9节] Java NIO流-选择器操作.flv...

    Apache Mina入门(完成版)

    通过深入学习这份“Apache Mina入门(完成版)”资料,你将掌握使用Mina框架开发网络服务的基本技能,为构建高性能的Java服务器端应用打下坚实的基础。同时,实践项目“minatest”将帮助你巩固理论知识,提升实际...

    Java NIO基础视频教程、MINA视频教程、Netty快速入门视频 [有源码]-附件资源

    Java NIO基础视频教程、MINA视频教程、Netty快速入门视频 [有源码]-附件资源

    mina入门实例

    这就是一个基础的Mina入门实例,展示了如何使用Mina进行客户端-服务器间的通信。随着深入学习,你可以了解更多的Mina特性,如心跳机制、多线程处理、会话管理等,以构建更复杂、高效的网络应用。

    服务端基于MINA2的UDP双向通信Demo演示(Java客户端)

    描述中提到的源码来源于《NIO框架入门(二):服务端基于MINA2的UDP双向通信Demo演示》这篇文章,这表明源码实例是为了解释和展示如何利用MINA2进行基于UDP的网络编程,特别是涉及到了非阻塞I/O(Non-blocking I/O, ...

    mina入门例子

    本入门例子将带你了解如何使用MINA进行基本的网络通信应用开发。 首先,MINA的核心概念包括`Session`、`Filter`和`Handler`。`Session`代表一个网络连接,它是数据传输的通道;`Filter`是处理`Session`中数据的...

    Mina2.0学习笔记

    #### 二、Mina入门实践 - **准备工作**: - **下载Mina核心库**:下载并解压mina2.0.1.zip,获取mina-core-2.0.0-M1.jar。 - **下载日志库**:下载并解压slf4j1.5.2.zip,获取slf4j-api-1.5.2.jar与slf4j-log4j12-...

    Mina2.0快速入门与源码剖析.docx

    Mina2.0 的快速入门主要包括了解 Mina2.0 的基本概念、安装和配置、简单的客户端和服务器端的实现。首先,需要了解 Mina2.0 的基本架构和设计原则,然后进行安装和配置,最后实现一个简单的客户端和服务器端。 知识...

    mina2资料-各种教程

    了解以上知识点是掌握Apache MINA的基础,通过提供的学习资料,如《Mina2.0学习笔记》、《Apache MINA入门基础》和《Apache MINA Server 2.0中文参考手册》等,可以深入学习MINA的API用法、设计原理和最佳实践。...

    高性能Java网络框架 MINA

    1. **异步事件驱动**:MINA采用非阻塞I/O模型,利用Java NIO(New IO)库,提供高并发处理能力。这种模型允许MINA在单个线程中处理大量连接,极大地提高了服务器的吞吐量。 2. **平台无关性**:MINA支持多种传输层...

    Mina2.0学习笔记(修订版)

    #### 一、Mina入门与环境搭建 **Mina简介** Mina是Apache旗下的一款强大的网络应用框架,专为高性能和高可扩展性网络应用设计,其核心是利用Java NIO技术提供事件驱动的异步API,适用于多种传输协议如TCP/IP和UDP/...

    Apache MINA基于JAVA的网络服务器框架 教程.zip

    3. **Apache MINA 快速入门 lj棒.txt**:这可能是一个快速入门指南,帮助开发者快速理解MINA的基本概念和实现一个简单的网络服务器。 4. **SmartFoxServer 是专门为Adobe Flash设计的跨平台socket服务器**:...

    Mina框架入门介绍

    Apache Mina 框架是一个强大的网络通信框架,它的核心目标是简化开发高效...学习和使用Mina,开发者需要具备JAVA IO、JAVA NIO、Java Socket以及并发库的基础知识,这将有助于更好地理解和应用Mina框架提供的各种功能。

    nety nio 视频.txt

    Java NIO基础视频教程、MINA视频教程、Netty快速入门视频 [有源码] 网盘地址

    MINA开发手册和JAR包

    MINA(Java IO Network Application Framework)是一个开源的网络应用程序框架,由Apache软件基金会维护,它为构建高性能、高可用性的网络应用提供了丰富的API和工具。MINA的目标是简化网络编程,无论你是在处理TCP/...

Global site tag (gtag.js) - Google Analytics