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

浅谈NIO与IO

    博客分类:
  • jdk
 
阅读更多
java.nio 包定义了缓冲区类
Channel是一个对象,可以通过它读取和写入数据。拿 NIO 与原来的 I/O 做个比较,通道就像是流。
通道与流的不同之处在于通道是双向的。而流只是在一个方向上移动(一个流必须是 InputStream 或者 OutputStream 的子类), 而 通道 可以用于读、写或者同时用于读写。
因为它们是双向的,所以通道可以比流更好地反映底层操作系统的真实情况。特别是在 UNIX 模型中,底层操作系统通道是双向的。

传统的网络ServerSocket中更可以体现这一现象

传统IO



NIO





  • 大小: 37.9 KB
  • 大小: 42.1 KB
分享到:
评论

相关推荐

    浅谈java中nio的使用方式

    Java NIO(New Input/Output)是一种用于处理I/O操作的非阻塞I/O模型,与传统的Java IO相比,它提供了更高的性能和更灵活的编程方式。NIO的核心概念包括Channel、Selector、SelectionKey和Buffer。 1. **Channel...

    浅谈Java中BIO、NIO和AIO的区别和应用场景

    Java中BIO、NIO和AIO的区别和应用场景 Java中IO模型有三种:BIO...BIO是古老的同步阻塞IO模型,NIO是同步非阻塞IO模型,AIO是真正意义上的异步非阻塞IO模型。选择合适的IO模型可以极大地提高服务器的性能和可扩展性。

    浅谈Java的输入输出流

    ### Java输入输出流基础知识 #### 一、引言 Java作为一种广泛应用的编程语言,其强大的...随着实践的深入,开发者还可以探索更多高级的输入输出流技术,如NIO(New IO)、管道流等,进一步提升程序的性能和灵活性。

    浅谈Tomcat三种运行模式

    浅谈Tomcat三种运行模式 Tomcat服务器有三种运行模式:bio、nio和apr。每种模式都有其特点和优缺点,本文将对这三种模式进行详细的介绍。 bio模式 bio模式是Tomcat服务器的传统运行模式,也是Tomcat 7以下版本的...

    浅谈Android Studio导出javadoc文档操作及问题的解决

    1、在Android studio中进行打开一个项目的文件之后,然后进行点击Android stuio中菜单中的...java.lang.NullPointerException 或者 java.nio.BufferOverflowException 等情况可在图中2的位置即 Other command lin

    浅谈java中异步多线程超时导致的服务异常

    5. **优化任务执行**:尽量减少线程阻塞的时间,例如,避免长时间的IO操作,或者使用非阻塞的并发库如`java.nio`。 6. **监控与异常处理**:对线程池进行监控,记录线程的状态和执行情况,及时发现和处理异常,保证...

    面试指南java

    - IO与NIO的区别:了解Java中传统IO和新IO(NIO)之间的区别,以及各自的使用场景。 - Synchronized和Lock的区别和用法:理解同步关键字synchronized和锁接口Lock的不同用法和优势。 - Final、Finally、Finalize的...

    Java面试指南.pdf

    - **4.7 IO与NIO的区别**:讨论传统IO模型与非阻塞IO模型之间的差异。 - **4.8 Synchronized和Lock的区别和用法**:比较同步关键字`synchronized`与显式锁`Lock`的优缺点及使用场景。 - **4.9 Final、Finally、...

    2015Java面试指南

    - **IO与NIO的区别**:传统的`IO`模型采用阻塞模式,而`NIO`(New IO)采用了非阻塞模式,提高了I/O操作效率。 - **Synchronized和Lock区别和用法**:`synchronized`是Java关键字,实现起来简单但不够灵活;`Lock`...

    JAVA面试指南

    - **4.7 IO与NIO的区别:** - **IO**(InputStream/OutputStream):基于字节流的阻塞I/O模型。 - **NIO**(New IO):引入了Channel和Buffer的概念,支持非阻塞模式。 - **4.8 Synchronized和Lock区别和用法:**...

Global site tag (gtag.js) - Google Analytics