nio
  • Introduction
  • Java NIO详解
    • 阻塞与非阻塞概念
    • 同步与异步
    • 什么是NIO
    • Java NIO 概述
    • Buffer
    • Channel
      • 概述
      • 通道基础
        • 打开通道
        • 使用通道
        • 关闭通道
      • FileChannel
        • FileChannel基本用法
        • 文件锁
      • Socket通道
        • 非阻塞模式
        • SocketChannel
        • ServerSocketChannel
        • DatagramChannel
      • Scatter与Gather
    • Selector
    • JAVA NIO与IO
    • Pipe
    • 其他相关知识介绍
  • 高性能网络框架——netty
    • 基础概念
    • 入门教程
Powered by GitBook
On this page
  • 什么是NIO
  • Java NIO提供了与标准IO不同的IO工作方式

Was this helpful?

  1. Java NIO详解

什么是NIO

什么是NIO

Java NIO(New IO)是一个可以替代标准Java IO API的IO API(从Java 1.4开始),也可以说成非阻塞式I/O.

Java NIO提供了与标准IO不同的IO工作方式

Java NIO: Channels and Buffers(通道和缓冲区)

标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。

Java NIO: Non-blocking IO(非阻塞IO)

Java NIO可以让你非阻塞的使用IO,例如:当线程从通道读取数据到缓冲区时,线程还是可以进行其他事情。当数据被写入到缓冲区时,线程可以继续处理它。从缓冲区写入通道也类似。

Java NIO: Selectors(选择器)

Java NIO引入了选择器的概念,选择器用于监听多个通道的事件(比如:连接打开,数据到达)。因此,单个的线程可以监听多个数据通道。

Previous同步与异步NextJava NIO 概述

Last updated 5 years ago

Was this helpful?