[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/sharpener-YuFeng/JavaGuide/patch-2/docs/java/io/io-model.md [Back]  [Original]

---
title: Java IO 
description: Java IOBIOIONIOIOAIOIOReactor/Proactor
category: Java
tag:
  - Java IO
  - Java
head:
  - - meta
    - name: keywords
      content: Java IO,BIO,NIO,AIO,IO,IO,,Reactor,Proactor
---

IO UNIX ~

_//_

## 

I/O  I/O 

## I/O

###  I/O?

I/O**I**nput/**O**utput ****

** I/O**

. 5 

![](https://oss.javaguide.cn/github/javaguide/java/io/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9pcy1jbG91ZC5ibG9nLmNzZG4ubmV0,size_16,color_FFFFFF,t_70.jpeg)





** I/O **

** I/O**

 **User space**  **Kernel space**

 IO 



 IO 

 IO  **** 

 ** IO**  ** IO**

** IO  IO  IO  IO **

 I/O 

1.  I/O 
2. 

###  IO 

UNIX  IO  5 ** I/O**** I/O****I/O **** I/O** ** I/O**

 5  IO 

## Java  3  IO 

### BIO (Blocking I/O)

**BIO  IO **

 IO  read 

![Tomcat & Jetty](https://oss.javaguide.cn/p3-juejin/6a9e704af49b4380bb686f0c96d33b81~tplv-k3u1fbpfcp-watermark.png)

 BIO  I/O 

### NIO (New I/O)

Java  NIO  Java 1.4  `java.nio`  `Channel``Selector``Buffer` NIO  N  NewNIO `SelectableChannel` I/O 

Java NIO  `SelectableChannel`  `Selector`  **I/O ** `java.nio`  I/O  I/O API



 ** IO **

![Tomcat & Jetty](https://oss.javaguide.cn/p3-juejin/bb174e22dbe04bb79fe3fc126aed0c61~tplv-k3u1fbpfcp-watermark.png)

 IO  read 

 IO  IO 

>  IO read  read 
> ,  IO  IO 

 IO ** I/O  CPU **

**I/O ** 

![](https://oss.javaguide.cn/github/javaguide/java/io/88ff862764024c3b8567367df11df6ab~tplv-k3u1fbpfcp-watermark.png)

IO  select  read read  -> 

>  IO  selectepoll select 
>
> - **select **
> - **epoll **linux 2.6  select  IO 

**IO  CPU **

Java  NIO** ( Selector )**  ****

![BufferChannelSelector](https://oss.javaguide.cn/github/javaguide/java/nio/channel-buffer-selector.png)

### AIO (Asynchronous I/O)

AIO  NIO.2  Java 7  APINIO.2  API

 `Future`  `CompletionHandler` 

![](https://oss.javaguide.cn/github/javaguide/java/io/3077e72a1af049559e81d18205b56fd7~tplv-k3u1fbpfcp-watermark.png)

 AIO Netty  AIONetty  AIO  Linux 

 Java  BIONIOAIO

![BIONIO  AIO ](https://oss.javaguide.cn/github/javaguide/java/nio/bio-aio-nio.png)

## 

-  Tomcat & Jetty
-  IO
-  IO[https://www.jianshu.com/p/fa7bdc4f3de7](https://www.jianshu.com/p/fa7bdc4f3de7)
- 10  Java NIO 
- IO  | 
- UNIX   1 API6.2  IO 



Web Proxy Viewer  |  New URL  |  Original Page