diff --git a/docs/notes/Java IO.md b/docs/notes/Java IO.md
index 805d4cdc..47d6cbf6 100644
--- a/docs/notes/Java IO.md
+++ b/docs/notes/Java IO.md
@@ -97,7 +97,7 @@ Java I/O 使用了装饰者模式来实现。以 InputStream 为例,
- FileInputStream 是 InputStream 的子类,属于具体组件,提供了字节流的输入操作;
- FilterInputStream 属于抽象装饰者,装饰者用于装饰组件,为组件提供额外的功能。例如 BufferedInputStream 为 FileInputStream 提供缓存的功能。
-
+
实例化一个具有缓存功能的字节流对象时,只需要在 FileInputStream 对象上再套一层 BufferedInputStream 对象即可。
@@ -277,8 +277,7 @@ public static void main(String[] args) throws IOException {
- Socket:客户端类
- 服务器和客户端通过 InputStream 和 OutputStream 进行输入输出。
-
-
+
## Datagram
@@ -414,7 +413,7 @@ NIO 实现了 IO 多路复用中的 Reactor 模型,一个线程 Thread 使用
应该注意的是,只有套接字 Channel 才能配置为非阻塞,而 FileChannel 不能,为 FileChannel 配置非阻塞也没有意义。
-
+
### 1. 创建选择器
diff --git a/docs/pics/093f9e57-429c-413a-83ee-c689ba596cef.png b/docs/pics/093f9e57-429c-413a-83ee-c689ba596cef.png
new file mode 100644
index 00000000..308dd5b8
Binary files /dev/null and b/docs/pics/093f9e57-429c-413a-83ee-c689ba596cef.png differ
diff --git a/docs/pics/6cfdf7b0-ea9d-4371-893f-76e78f004223.png b/docs/pics/6cfdf7b0-ea9d-4371-893f-76e78f004223.png
new file mode 100644
index 00000000..ab419eed
Binary files /dev/null and b/docs/pics/6cfdf7b0-ea9d-4371-893f-76e78f004223.png differ
diff --git a/docs/pics/9709694b-db05-4cce-8d2f-1c8b09f4d921.png b/docs/pics/9709694b-db05-4cce-8d2f-1c8b09f4d921.png
new file mode 100644
index 00000000..f133ec75
Binary files /dev/null and b/docs/pics/9709694b-db05-4cce-8d2f-1c8b09f4d921.png differ