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

Java NIO 详解(一)

    博客分类:
  • java
阅读更多

      NIO提供了一个全新的底层的I/O层模型。与最初的java.io包中面向留(Stream-oriented)的概念不同,NIO采用了面向块的概念(block-oriented)。这意味着尽可能的情况下,I/O操作以大的数据块为单位进行,而不是一次一个字节或字符进行

    

       NIO中提供了与平台无光的非阻塞I/O(nonblocking I/O)。与面向线程的、阻塞式I/O方式相比,多道通信、非阻塞I/O技术可以使应用程序更有效地处理大量连接的情况

 

       IO的阻塞操作

       在传统I/O操作中接收键盘数据的操作时只要执行到readLine()方法,程序就要停止等待用户输入数据;在网络编程中服务器端使用ServerSocket类的accept()方法时,服务器一直处于等待操作,要等待客户端连接。这两类都属于阻塞操作,因为都会让程序暂停执行

       

       缓存区与Buffer

       在基本IO操作中所有操作都是直接已流的形式完成的,而在NIO中所有的操作都要使用缓存区处理,且所有的读写操作都是通过缓存区完成的。缓存区(Buffer)是一个线性的、有序的数据集,只能容纳某种特定的数据类型

 

       通道 Channel

       通道可以用来读取和写入数据,通道类似之前的输入/输出流,但是程序不会直接操作通道,所有的内容都是先读到或写入缓冲区中,在通过缓冲区中取得或写入

       通道与传统的流操作不同,传统的流操作分为输入或输出流,而通道本身是双向操作的,既可以完成输入也可以完成输出  

       

         图:  通道的操作流程

       

        Selector

        在新IO中Selector是一个极其重要的概念,在原来使用IO和Socket构造网络服务时,所有的网络服务将使用阻塞的方式进行客户端的连接,而如果使用了新IO则可以构造一个非阻塞的网络服务

  • 大小: 6.6 KB
1
1
分享到:
评论

相关推荐

    Java NIO详解(学习资料)

    Java NIO详解

    Java NIO详解及源码下载

    博客地址:http://blog.csdn.net/u010156024/article/details/44310709 欢迎访问。 代码中详细讲述了Java io流和nio流的用法,可以参考学习。

    Java NIO实战开发多人聊天室

    05-Java NIO-Channel-FileChannel详解(一).mp4 06-Java NIO-Channel-FileChannel详解(二).mp4 08-Java NIO-Channel-ServerSocketChannel.mp4 09-Java NIO-Channel-SocketChannel.mp4 10-Java NIO-Channel-...

    java网络编程NIO视频教程

    05-Java NIO-Channel-FileChannel详解(一).mp4 06-Java NIO-Channel-FileChannel详解(二).mp4 07-Java NIO-Channel-Socket通道-概述.mp4 08-Java NIO-Channel-ServerSocketChannel.mp4 09-Java NIO-Channel-...

    JAVA IO-NIO 详解

    在Java中,IO(输入/输出)是程序与外部世界进行交互的重要桥梁,而NIO(非阻塞IO)则是Java IO的一个重要扩展,它提供了更为高效、灵活的数据处理方式。 传统的Java IO是阻塞式的,即当程序进行读写操作时,如果...

    JavaNIO_API帮助文档详解

    JavaNIO_API帮助文档详解,对于开发NIO很有帮助

    Java NIO中四大核心组件的使用详解

    Java NIO中四大核心组件的使用详解

    JavaNIO想详解1

    本文中的源代码可以在此处下载,下载链接为:http://115.com/file/cltlj10i#nio-src.zip本文简介: JDK 1.4 中引入的

    java.nio API详解

    在JDK 1.4以前,Java的IO操作集中在java.io这个包中,是基于流的同步(blocking)API。...从JDK 1.4起,NIO API作为一个基于缓冲区,并能提供异步(non-blocking)IO操作的API被引入。本文对其进行深入的介绍。

    Java NIO中四大核心组件的使用详解.rar

    Java NIO中四大核心组件的使用详解.rar

    Java NIO实战之聊天室功能详解

    主要介绍了Java NIO实战之聊天室功能,结合实例形式详细分析了java NIO聊天室具体的服务端、客户端相关实现方法与操作注意事项,需要的朋友可以参考下

    详解JavaNIO

    所以,jdk1.4发布了NIO包,NIO的文件读写设计颠覆了传统IO的设计,采用『通道』+『缓存区』使得新式的IO操作直接面向缓存区,并且是非阻塞的,对于效率的提升真不是一点两点,我们一起来看看。我们说过,NIO的核心...

    java nio 详解

    最全面,最精确,最到位,最能打动人心的设计大全

    Java NIO Buffer过程详解

    主要介绍了Java NIO Buffer过程详解,缓冲区在java nio中负责数据的存储。缓冲区就是数组。用于存储不同数据类型的数据。,需要的朋友可以参考下

    NIO开发API详解

    详细介绍NIO技术

    java NIO 详解

    Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的Java IO API。本系列教程将有助于你学习和理解Java NIO。

    Java_NIO_API详解[参照].pdf

    Java_NIO_API详解[参照].pdf

    java IO、NIO、AIO详解.docx

    java IO、NIO、AIO详解.docx

    Java NIO服务器端开发详解

    主要介绍了Java NIO服务器端开发详解,具有一定借鉴价值,需要的朋友可以参考下。

    Java_NIO_API详解

    NIO的Api的详细讲解,非常详细,对方法和参数的作用就解释的非常清楚。

Global site tag (gtag.js) - Google Analytics