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

NIO和IO的区别

阅读更多

Java NIO编程 提供了对块IO的支持,使用块IO的好处是效率更高 

1.   基本 概念 

IO 是主存和外部设备 ( 硬盘、终端和网络等 ) 拷贝数据的过程。 IO 是操作系统的底层功能实现,底层通过 I/O 指令进行完成。 

所有语言运行时系统提供执行 I/O 较高级别的工具。 (c 的 printf scanf,java 的面向对象封装 ) 

2.    Java 标准 io 回顾 

Java 标准 IO 类库是 io 面向对象的一种抽象。基于本地方法的底层实现,我们无须关注底层实现。 InputStream\OutputStream( 字节流 ) :一次传送一个字节。 Reader\Writer( 字符流 ) :一次一个字符。 
3.    nio 简介 
nio 是 java New IO 的简称,在 jdk1.4 里提供的新 api 。 Sun 官方标榜的特性如下: 

–     为所有的原始类型提供 (Buffer) 缓存支持。 
–     字符集编码解码解决方案。 
–     Channel :一个新的原始 I/O 抽象。 
–     支持锁和内存映射文件的文件访问接口。 
–     提供多路 (non-bloking) 非阻塞式的高伸缩性网络 I/O 。 
本文将围绕这几个特性进行学习和介绍。 

4.   Buffer&Chanel 

Channel 和 buffer 是 NIO 是两个最基本的数据类型抽象。 
Buffer: 

–        是一块连续的内存块。 
–        是 NIO 数据读或写的中转地。 
Channel: 
–        数据的源头或者数据的目的地 
–        用于向 buffer 提供数据或者读取 buffer 数据 ,buffer 对象的唯一接口。 

–         异步 I/O 支持 

分享到:
评论

相关推荐

    Java_NIO与IO的区别和比较.doc

    相比于传统的IO(Input/Output)模型,NIO引入了非阻塞I/O、字符转换、缓冲和通道等新特性,极大地提高了Java程序在处理I/O操作时的性能。 1. **Buffer**:在传统的IO操作中,数据通常直接在流之间传输,这可能导致...

    IO和NIO区别

    IO和NIO区别 Java 中的 IO 和 NIO 是两个不同的输入/输出机制,它们之间有许多区别。下面我们将详细讲解 IO 和 NIO 的区别。 1. 数据处理方式 标准 IO 以流的方式处理数据,也就是说数据是以流的形式传输的,而 ...

    java nio与io性能测试

    在Java IO中,数据的读写是通过流进行的,而NIO则引入了通道(Channel)和缓冲区(Buffer)的概念,使得数据操作更加高效。本文将深入探讨Java NIO与IO的性能测试,并通过代码实例来展示它们之间的差异。 首先,...

    Java NIO与IO的区别和比较.pdf

    ### Java NIO与IO的区别和比较 #### 引言 随着网络技术的飞速发展,企业和个人对网络应用程序的性能要求日益提高。特别是在高并发环境下,服务器需要处理来自数百乃至数千个客户端的同时连接请求,这使得传统的...

    Java NIO与IO性能对比分析.pdf

    Java NIO(New IO,也称为Non-blocking IO)和传统的Java IO是Java编程语言中用于处理I/O操作的两种主要技术。随着互联网用户数量的激增,企业对应用程序的并发处理能力提出了更高的要求。为了解决传统Java IO模型在...

    NIO与传统IO代码区别实例

    总的来说,理解IO与NIO的区别,以及它们在不同场景下的优缺点,对于提升Java服务器开发的性能和效率至关重要。NIO尤其适用于需要处理大量并发连接的网络服务,如聊天服务器、游戏服务器等。希望这个简要的介绍能帮助...

    Nio和Io的详细描述.docx

    Java NIO(New IO)是Java提供的一种替代标准Java IO和Java网络编程API的全新IO接口。NIO引入了一种不同于传统IO编程模型的机制。虽然有时人们将NIO理解为非阻塞IO,但这是不准确的。实际上,NIO API的部分功能,如...

    NIO和IO中文概述文档.docx

    NIO与传统的IO(-blocking IO)的主要区别在于处理I/O事件的方式以及对并发的处理能力。 传统的Java IO基于流(Stream)模型,数据被读取或写入时,程序会一直阻塞直到操作完成。而NIO则引入了通道(Channel)和缓冲区...

    Java-NIO与IO的区别和比较.doc

    Java NIO(New Input/Output)是Java标准库在J2SE 1.4及后续版本中引入的一个重要更新,它的出现是为了改进传统的IO模型,提高I/O操作的效率和并发性。NIO的主要特点包括非阻塞I/O、字符转换、缓冲区以及通道等。 1...

    Java IO_NIO

    **NIO与IO的区别** 1. 阻塞与非阻塞:Java IO是阻塞的,而NIO是非阻塞的,可以在没有数据可读时不做等待,而是继续处理其他任务。 2. 多路复用:NIO的选择器允许单线程管理多个通道,而传统的IO需要为每个连接创建一...

    java io 与java nio区别

    ### Java IO 与 Java NIO 的区别 在深入探讨Java IO与Java NIO之间的区别之前,我们先简单回顾一下这两种I/O模型的基本概念。 #### 1. Java IO(Blocking IO) Java IO,也称为传统的阻塞式IO或同步阻塞式IO,是...

    nio与io的比较

    NULL 博文链接:https://aga.iteye.com/blog/206691

    JavaNIO与IO的区别和比较.pdf

    Java NIO(New Input/Output)是Java标准库在J2SE 1.4及更高版本中引入的一个重要更新,它的出现是为了改进传统的IO模型,提高I/O操作的效率和并发性。NIO的主要特点包括非阻塞I/O、字符转换、缓冲以及通道等。 1. ...

    Java NIO与IO性能对比分析.zip

    Java NIO(New IO)和IO是Java平台中用于处理输入/输出操作的两种主要机制。它们在处理I/O任务时有不同的方式和特点,适用于不同的场景。本篇将深入探讨Java NIO与IO的性能对比,帮助开发者更好地理解两者之间的差异...

    NIO学习系列:连网和异步IO

    本篇文章将深入探讨NIO在连网和异步IO方面的应用,以及如何通过源码理解和实践相关技术。 首先,我们了解NIO的核心概念。NIO不同于传统的IO模型(即BIO,Blocking IO),它引入了通道(Channel)和缓冲区(Buffer)...

    JavaNIO浅析IO模型Java开发Java经验技巧共1

    四、NIO与传统IO的区别 1. **阻塞与非阻塞**:传统IO基于流,采用阻塞方式,当读写数据时会一直等待直到完成;而NIO可以设置为非阻塞,当数据未准备好时不会挂起线程。 2. **单线程与多线程**:传统IO通常需要为每个...

    自己封装的IO核NIO

    在IT行业中,输入/输出(IO)和网络IO(NIO)是编程中不可或缺的部分,尤其是在处理大量数据传输和网络通信时。Java平台提供了丰富的IO和NIO API,但它们的使用往往相对复杂,需要对底层机制有深入理解。本文将详细...

    JavaIO和NIO练习

    Java IO(Input/Output)和NIO(New IO)是Java平台中用于处理输入和输出操作的核心库。这两个系统提供了不同的方式来读取和写入数据,分别适用于不同类型的场景和需求。 Java IO体系主要基于流(Stream)的概念,...

Global site tag (gtag.js) - Google Analytics