diff --git a/docs/notes/Java IO.md b/docs/notes/Java IO.md index 805d4cdc0effe94effaf2e07d77dd485841d2e79..47d6cbf6fa47649c3e83d0eaf48d3a58d8f497d3 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 0000000000000000000000000000000000000000..308dd5b8b444d5b2cb18d0789952f6d6214796cf 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 0000000000000000000000000000000000000000..ab419eed73bad4cb5f1af1f44c28865d076f5b35 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 0000000000000000000000000000000000000000..f133ec753b5aa8432bba40769a25bfc4c2b034c3 Binary files /dev/null and b/docs/pics/9709694b-db05-4cce-8d2f-1c8b09f4d921.png differ