`
zizihaier
  • 浏览: 56814 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

NIO主要原理

    博客分类:
  • java
nio 
阅读更多
NIO主要原理

NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的socketchannel告诉Selector,我们接着做别的事情,当有事件发生时,他会通知我们,传回一组SelectionKey,我们读取这些Key,就会获得我们刚刚注册过的socketchannel,然后,我们从这个Channel中读取数据,放心,包准能够读到,接着我们可以处理这些数据。

Selector内部原理实际是在做一个对所注册的channel的轮询访问,不断的轮询(目前就这一个算法),一旦轮询到一个channel有所注册的事情发生,比如数据来了,他就会站起来报告,交出一把钥匙,让我们通过这把钥匙来读取这个channel的内容。

当前分布式计算 Web Services盛行天下,这些网络服务的底层都离不开对socket的操作。他们都有一个共同的结构:
1. Read request
2. Decode request
3. Process service
4. Encode reply
5. Send reply
分享到:
评论

相关推荐

    Java NIO原理和使用

    本文主要简单介绍NIO的基本原理,在下一篇文章中,将结合Reactor模式和著名线程大师Doug Lea的一篇文章深入讨论。 NIO主要原理和适用。 NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的...

    Java NIO的介绍及工作原理

    ### Java NIO的介绍及工作原理 #### 一、引言 Java NIO(New I/O)是Java 1.4版本引入的一个重要的I/O处理框架,它为Java应用程序提供了处理I/O操作的新方法。与传统的Java IO模型相比,NIO提供了一种更加高效的...

    Java NIO原理 图文分析及代码实现

    ### Java NIO原理 图文分析及代码实现 #### 前言 在深入探讨Java NIO之前,我们先简要回顾一下NIO的概念及其引入的原因。随着互联网的发展,越来越多的应用程序需要处理高并发的网络连接请求。传统的阻塞I/O模型在...

    java NIO技巧及原理

    在Java NIO中,"新"主要体现在非阻塞和多路复用这两个特性上,这使得NIO更适合于高并发、低延迟的系统。 **Java IO原理:** Java IO基于流模型,分为输入流和输出流。流是一维数据序列,可以是从源到目标的单向流动...

    _NIO原理剖析 (1).pdf

    NIO和IO对应用程序设计的影响主要体现在API调用、数据处理和线程管理方面。NIO提供了不同于IO的API,需要读写数据前先将数据读入缓冲区。在数据处理方面,NIO可以更灵活地处理缓冲区中的数据。使用NIO时,可以使用更...

    日常笔记-Nio通信原理

    日常笔记-Nio通信原理

    java NIO原理和使用

    ### Java NIO 原理与使用详解 #### 一、Java NIO 概述 在深入了解 Java NIO 的工作原理及其使用之前,我们首先来了解一下什么是 Java NIO(New I/O)。Java NIO 是 Java SE 1.4 版本引入的一个全新的 I/O API,...

    Java NIO原理解析

    2. **缓冲区(Buffer)**:缓冲区是NIO处理数据的主要方式。在读写操作之前,数据会被先存入缓冲区,然后从缓冲区传输到通道,或者从通道读入到缓冲区。缓冲区提供了对数据的结构化访问,可以检查数据的状态,比如...

    Java NIO原理分析及代码实例

    理解并掌握NIO的原理和使用,对于提升Java应用的性能和可扩展性至关重要。通过以上介绍的知识点,你可以开始编写基于NIO的应用,例如使用SocketChannel实现一个简单的非阻塞服务器。在实际编码时,参考博文链接中的...

    JavaNIO的原理.pdf

    Java NIO(New Input/Output)是Java标准库中提供的一种I/O模型,自JDK 1.4引入,主要用于提高应用程序的I/O性能。NIO的核心在于非阻塞I/O,它改变了传统的I/O模型,从面向流的阻塞I/O转向了面向缓冲区的非阻塞I/O。...

    java nio 原理浅析

    Java NIO(非阻塞I/O)是一种在Java中实现高效I/O操作的方式,相比于传统的BIO(阻塞I/O),NIO具有更...虽然本文没有深入到Netty的源码层面,但对于理解Netty的工作原理和如何利用它来构建高性能的网络应用已经足够。

    Java NIO工作原理的全面分析

    Java NIO(New Input/Output)是自JDK 1.4版本开始引入的一种I/O模型,相较于传统的基于流的I/O(IO),NIO提供了一种面向块的、高效的数据...理解和掌握NIO的工作原理,能够帮助开发者编写出性能更好的Java应用程序。

    基于nio实现的多文件上传源码

    在Java编程领域,NIO(New IO)是一个重要的特性,它是Java 1.4版本引入的,用于替代标准的IO API。...在理解和应用这个源码时,深入研究NIO的原理和实践,将有助于进一步提升系统的性能和稳定性。

    Java_NIO原理解析

    2. **缓冲区(Buffer)**:缓冲区是存储数据的主要对象,所有类型的数据(如字节、字符、整数等)都可以通过缓冲区进行读写。缓冲区提供了对数据的高效访问,并且有诸如capacity、limit和position等属性,用于管理...

    mongodb的开发和nio实现

    开发者不仅需要深入理解MongoDB的数据模型和操作,还要熟练掌握Java NIO的原理和实践,才能充分发挥两者的优势。在实际项目中,可以根据具体需求选择合适的设计模式和最佳实践,以优化系统的性能和稳定性。

    尚硅谷Java视频_NIO 视频教程

    尚硅谷_NIO_通道(Channel)的原理与获取 ·05. 尚硅谷_NIO_通道的数据传输与内存映射文件 ·06. 尚硅谷_NIO_分散读取与聚集写入 ·07. 尚硅谷_NIO_字符集 Charset ·08. 尚硅谷_NIO_阻塞与非阻塞 ·09. 尚硅谷_NIO_...

    基于nio的简易聊天室

    缓冲区是NIO中数据存储的主要方式,它们是固定大小的数组,可以用于存储各种基本类型的数据,如字符、字节、整数等。在读写操作中,数据会先被存入缓冲区,然后再从缓冲区传输,这样可以提高效率。在这个聊天室应用...

    java NIO实例

    下面将详细介绍Java NIO的主要组件和工作原理,并结合这两个文件名推测它们可能包含的内容。 1. **Selector(选择器)**:选择器是NIO的核心组件,它能够监控多个通道(Channel)的状态变化,当某个通道准备进行...

    Java NIO原理图文分析及代码实现

    - **Java NIO原理及通信模型**:NIO采用了非阻塞的方式,通过一个单独的线程来处理所有IO事件,使用事件驱动机制,当事件发生时才进行处理。它依赖于选择器(Selector)来监控多个通道(Channel)上的事件,如连接...

Global site tag (gtag.js) - Google Analytics