`
edison87915
  • 浏览: 196444 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

NIO

    博客分类:
  • JAVA
阅读更多

1.NIO&原I/O区别

NIO和原来的I/O最重要的区别是数据打包和传输方式的不同

----原I/O------以流的方式处理数据(相比NIO速度相当慢)

----NIO----以的方式处理数据

2.NIO核心

----NIO------NIO以通道Channel和缓冲区Buffer为基础来实现面向块的I/O处理

          -------NIO核心:通道Channel和缓冲区Buffer,每一个I/O操作都要使用通道和缓冲区

3. Channel&Buffer

----Channel:对原I/O包中的流的模拟,到任何目的/来自任何源的数据都必须通过一个Channel对象

----Buffer   :实质上是个容器对象,发送给一个通道的数据都必须先放入缓冲区中,从通道中读取的数据都要先读到缓冲区中

                 

4.通道&流-----Channel是Stream的模拟

-----流:将字节写入流中,再从流中读取数据/将字节写入流中,再从流中写到目的地

           流是单向的

-----通道:读/写数据,通道只负责把数据传输到缓冲区,我们不会从通道中直接读取字节/写入字节

             通道是双向的,可用于读/写/同时读写

5.Buffer&数组 区别

   Buffer-----缓冲区实质上是一个数组.(通常是字节数组ByteBuffer,也可为其他类型的数组,FloatBuffer)

            Buffer不仅是数组,Buffer提供了对数据的结构化访问get/put操作,还可跟踪系统的读/写进程

6.读/写时---

 

---读:1.从FileInputStream获得Channel      (fin.getChannel())

        2.创建一个Buffer,                               (ByteBuffer buffer = ByteBuffer.allocate(1024))

        3.把缓冲区交给通道,数据便会通过通道读取到缓区冲中(channel.read(buffer)),再从缓冲区中读取数据buffer.get

---写:1.从FileOutputStream中获得Channel  (fout.getChannel)

        2.创建一个Buffer                                  (ByteBuffer buffer = ByteBuffer.allocate(1024))

        3.把要写入的数据填充(put)缓冲区,再把缓冲区交给通道,数据便会通过通道写入到目的地(channel.write(buffer))

 

 

  • 大小: 15.8 KB
分享到:
评论
2 楼 edison87915 2013-07-23  
悬空90 写道
1.NIO&原I/O区别

NIO和原来的I/O最重要的区别是数据打包和传输方式的不同

----NIO------以流的方式处理数据(相比NIO速度相当慢)

----原I/O----以块的方式处理数据

================================================
第一条你说反了。


谢谢指证,老早前写的,很简漏,附件应该是某大师写的,当时也忘了写原地址了。。。
1 楼 悬空90 2013-07-21  
1.NIO&原I/O区别

NIO和原来的I/O最重要的区别是数据打包和传输方式的不同

----NIO------以流的方式处理数据(相比NIO速度相当慢)

----原I/O----以块的方式处理数据

================================================
第一条你说反了。

相关推荐

    xnio-nio-3.8.0.Final-API文档-中文版.zip

    赠送jar包:xnio-nio-3.8.0.Final.jar; 赠送原API文档:xnio-nio-3.8.0.Final-javadoc.jar; 赠送源代码:xnio-nio-3.8.0.Final-sources.jar; 赠送Maven依赖信息文件:xnio-nio-3.8.0.Final.pom; 包含翻译后的API...

    JAVA NIO 按行读取大文件,支持 GB级别

    设计思想: 每次通过nio读取字节到 fbb中 然后对fbb自己中的内容进行行判断即 10 回车 13 行号 0 文件结束 这样字节的判断,然后 返回行 如果 到达 fbb的结尾 还没有结束,就再通过nio读取一段字节,继续处理...

    httpcore-nio-4.4.6-API文档-中文版.zip

    赠送jar包:httpcore-nio-4.4.6.jar 赠送原API文档:httpcore-nio-4.4.6-javadoc.jar 赠送源代码:httpcore-nio-4.4.6-sources.jar 包含翻译后的API文档:httpcore-nio-4.4.6-javadoc-API文档-中文(简体)版.zip ...

    Java NIO 中文 Java NIO 中文 Java NIO 中文文档

    Java NIO 深入探讨了 1.4 版的 I/O 新特性,并告诉您如何使用这些特性来极大地提升您所写的 Java 代码的执行效率。这本小册子就程序员所面临的有代表性的 I/O 问题作了详尽阐述,并讲解了 如何才能充分利用新的 I/O ...

    JavaNIO chm帮助文档

    Java NIO系列教程(一) Java NIO 概述 Java NIO系列教程(二) Channel Java NIO系列教程(三) Buffer Java NIO系列教程(四) Scatter/Gather Java NIO系列教程(五) 通道之间的数据传输 Java NIO系列教程(六)...

    java nio中文版

    java NIO是 java New IO 的简称,在 jdk1.4 里提供的新 api 。 Sun 官方标榜的特性如下: – 为所有的原始类型提供 (Buffer) 缓存支持。 – 字符集编码解码解决方案。 – Channel :一个新的原始 I/O 抽象。 – 支持...

    Java IO, NIO and NIO.2 原版pdf by Friesen

    New I/O (NIO), and NIO.2 categories. You learn what each category offers in terms of its capabilities, and you also learn about concepts such as paths and Direct Memory Access. Chapters 2 through 5 ...

    JAVA NIO 按行读取大文件支持 GB级别-修正版

    设计思想: 每次通过nio读取字节到 fbb中 然后对fbb自己中的内容进行行判断即 10 回车 13 行号 0 文件结束 这样字节的判断,然后 返回行 如果 到达 fbb的结尾 还没有结束,就再通过nio读取一段字节,继续处理。 ...

    java NIO和java并发编程的书籍

    java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java NIO和java并发编程的书籍java...

    Java IO, NIO and NIO.2(Apress,2015)

    Java I/O, NIO, and NIO.2 is a power-packed book that accelerates your mastery of Java's various I/O APIs. In this book, you'll learn about classic I/O APIs (File, RandomAccessFile, the stream classes ...

    java nio 包读取超大数据文件

    Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据文件Java nio 超大数据文件 超大数据...

    java基于NIO实现Reactor模型源码.zip

    java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现Reactor模型源码java基于NIO实现...

    java NIO 视频教程

    Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),Java NIO提供了与标准IO不同的IO工作方式。 Java NIO: Channels and Buffers(通道和缓冲区) 标准的IO基于字节流和字符流进行操作的,...

    新输入输出NIO

    JDK 1.4 中引入的新输入输出 (NIO) 库在标准 Java 代码中提供了高速的、面向块的 I/O。本实用教程从高级概念到底层的编程细节,非常详细地介绍了 NIO 库。您将学到诸如缓冲区和通道这样的关键 I/O 元素的知识,并...

    nio入门 IBM教材,pdf格式

    新的输入/输出 (NIO) 库是在 JDK 1.4 中引入的。NIO 弥补了原来的 I/O 的不足,它在标准 Java 代码中提供了高速的、面向块的 I/O。通过定义包含数据的类,以及通过以块的形式处理这些数据,NIO 不用使用本机代码就...

    Java NIO英文高清原版

    Java NIO英文高清原版

    尚硅谷Java视频_NIO 视频教程

    尚硅谷_NIO_NIO 与 IO 区别 ·02. 尚硅谷_NIO_缓冲区(Buffer)的数据存取 ·03. 尚硅谷_NIO_直接缓冲区与非直接缓冲区 ·04. 尚硅谷_NIO_通道(Channel)的原理与获取 ·05. 尚硅谷_NIO_通道的数据传输与内存映射文件 ...

    httpcore-nio-4.4.15-API文档-中文版.zip

    赠送jar包:httpcore-nio-4.4.15.jar 赠送原API文档:httpcore-nio-4.4.15-javadoc.jar 赠送源代码:httpcore-nio-4.4.15-sources.jar 包含翻译后的API文档:httpcore-nio-4.4.15-javadoc-API文档-中文(简体)版....

    xnio-nio-3.8.4.Final-API文档-中文版.zip

    赠送jar包:xnio-nio-3.8.4.Final.jar; 赠送原API文档:xnio-nio-3.8.4.Final-javadoc.jar; 赠送源代码:xnio-nio-3.8.4.Final-sources.jar; 赠送Maven依赖信息文件:xnio-nio-3.8.4.Final.pom; 包含翻译后的API...

    httpcore-nio-4.4.5-API文档-中文版.zip

    赠送jar包:httpcore-nio-4.4.5.jar; 赠送原API文档:httpcore-nio-4.4.5-javadoc.jar; 赠送源代码:httpcore-nio-4.4.5-sources.jar; 赠送Maven依赖信息文件:httpcore-nio-4.4.5.pom; 包含翻译后的API文档:...

Global site tag (gtag.js) - Google Analytics