diff --git a/docs/notes/HTTP.md b/docs/notes/HTTP.md
index b00979b8a4af2afbcd233859d54b911acb125962..a7429bec9f9caed9687063bbb823be650a251278 100644
--- a/docs/notes/HTTP.md
+++ b/docs/notes/HTTP.md
@@ -776,7 +776,7 @@ GET 用于获取资源,而 POST 用于传输实体主体。
GET 和 POST 的请求都能使用额外的参数,但是 GET 的参数是以查询字符串出现在 URL 中,而 POST 的参数存储在实体主体中。不能因为 POST 参数存储在实体主体中就认为它的安全性更高,因为照样可以通过一些抓包工具(Fiddler)查看。
-因为 URL 只支持 ASCII 码,因此 GET 的参数中如果存在中文等字符就需要先进行编码。例如 `中文` 会转换为 `%E4%B8%AD%E6%96%87`,而空格会转换为 `%20`。POST 参考支持标准字符集。
+因为 URL 只支持 ASCII 码,因此 GET 的参数中如果存在中文等字符就需要先进行编码。例如 `中文` 会转换为 `%E4%B8%AD%E6%96%87`,而空格会转换为 `%20`。POST 参数支持标准字符集。
```
GET /test/demo_form.asp?name1=value1&name2=value2 HTTP/1.1
diff --git "a/docs/notes/Java \345\256\271\345\231\250.md" "b/docs/notes/Java \345\256\271\345\231\250.md"
index ff906df2d45b03ef3c5eef6c76471dc834d23c53..58839ce72021cbb072b4178fe6797e754cb01a2d 100644
--- "a/docs/notes/Java \345\256\271\345\231\250.md"
+++ "b/docs/notes/Java \345\256\271\345\231\250.md"
@@ -27,7 +27,6 @@
-
### 1. Set
- TreeSet:基于红黑树实现,支持有序性操作,例如根据一个范围查找元素的操作。但是查找效率不如 HashSet,HashSet 查找的时间复杂度为 O(1),TreeSet 则为 O(logN)。
diff --git "a/docs/notes/Java \345\271\266\345\217\221.md" "b/docs/notes/Java \345\271\266\345\217\221.md"
index b022c2e73a75c991ec0f0b063e653fa93a63bb2c..216cf3640f7089b2e6affbed47517acf44394e78 100644
--- "a/docs/notes/Java \345\271\266\345\217\221.md"
+++ "b/docs/notes/Java \345\271\266\345\217\221.md"
@@ -2,7 +2,7 @@
* [一、线程状态转换](#一线程状态转换)
* [新建(New)](#新建new)
* [可运行(Runnable)](#可运行runnable)
- * [阻塞(Blocking)](#阻塞blocking)
+ * [阻塞(Blocked)](#阻塞blocked)
* [无限期等待(Waiting)](#无限期等待waiting)
* [限期等待(Timed Waiting)](#限期等待timed-waiting)
* [死亡(Terminated)](#死亡terminated)
@@ -73,7 +73,7 @@
包含了操作系统线程状态中的 Running 和 Ready。
-## 阻塞(Blocking)
+## 阻塞(Blocked)
等待获取一个排它锁,如果其线程释放了锁就会结束此状态。
diff --git a/docs/notes/Redis.md b/docs/notes/Redis.md
index 5db194d305699a95ccb10dc1b31e2bba7753ed92..e36b32206397f140b96a5cee864730436fb0f05c 100644
--- a/docs/notes/Redis.md
+++ b/docs/notes/Redis.md
@@ -349,7 +349,7 @@ Redis 这种内存型数据库的读写性能非常高,很适合存储频繁
## 消息队列
-List 是一个双向链表,可以通过 lpop 和 lpush 写入和读取消息。
+List 是一个双向链表,可以通过 lpush 和 rpop 写入和读取消息
不过最好使用 Kafka、RabbitMQ 等消息中间件。
diff --git "a/docs/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 10~19.md" "b/docs/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 10~19.md"
index 2a32b5e3c794675bcd9e7495bf439806f62f5768..95160e8785c1364e41a8895a2083081032d745f0 100644
--- "a/docs/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 10~19.md"
+++ "b/docs/notes/\345\211\221\346\214\207 Offer \351\242\230\350\247\243 - 10~19.md"
@@ -107,7 +107,6 @@ public class Solution {
public Solution() {
fib[1] = 1;
- fib[2] = 2;
for (int i = 2; i < fib.length; i++)
fib[i] = fib[i - 1] + fib[i - 2];
}
diff --git "a/docs/notes/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md" "b/docs/notes/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md"
index d24c843728fdf3a226c8cddb9cd265c03890aa2f..627b4929b9b8b19eab377f9cf1cd7e7354761f31 100644
--- "a/docs/notes/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md"
+++ "b/docs/notes/\350\256\241\347\256\227\346\234\272\347\275\221\347\273\234.md"
@@ -794,11 +794,15 @@ SMTP 只能发送 ASCII 码,而互联网邮件扩充 MIME 可以发送二进
### 2. POP3
-POP3 的特点是只要用户从服务器上读取了邮件,就把该邮件删除。
+POP3 的特点是只要用户从服务器上读取了邮件,就把该邮件删除,但是目前改进的 POP3 已经全面支持下载而不删除原邮件。
+
+它的另一个主要特点是:无论你在客户端做了任何操作(如移动、标记),都不会反映到服务器上,也就是只能单方面地从服务器 “读取”。
### 3. IMAP
-IMAP 协议中客户端和服务器上的邮件保持同步,如果不手动删除邮件,那么服务器上的邮件也不会被删除。IMAP 这种做法可以让用户随时随地去访问服务器上的邮件。
+IMAP 协议中客户端和服务器上的邮件保持同步,如果不手动删除邮件,那么服务器上的邮件也不会被自动删除。IMAP 这种做法可以让用户随时随地去访问服务器上的邮件。
+
+同时它与 POP3 的本质区别在于,在客户端的操作(包括删除)都会反映到服务器上,是一个双向的通信。
## 常用端口