diff --git a/notes/设计模式 - 生成器.md b/notes/设计模式 - 生成器.md
index e65d153f..e74c7ad2 100644
--- a/notes/设计模式 - 生成器.md
+++ b/notes/设计模式 - 生成器.md
@@ -7,7 +7,7 @@
### 实现
-以下是一个简易的 StringBuilder 实现,参考了 JDK 1.8 源码。
+以下是一个简易的 StringBuilder 实现,参考了 JDK 1.8 源码(JDK 9 起 value 改为 byte[],扩容仍是原容量 × 2 + 2)。每次 append() 是一个构造步骤,返回 this 以便链式调用,最后由 toString() 得到最终的 String。
```java
import java.util.Arrays;
@@ -79,6 +79,8 @@ public class Client {
abcdefghijklmnopqrstuvwxyz
```
+实际开发中更常见的是为参数很多的类提供生成器,例如 new User.Builder("tom").age(18).email("tom@example.com").build():比一串重载的构造方法更易读,可选参数按需设置,并且可以在 build() 中统一校验,再创建不可变的对象。
+
### JDK 中的应用
- [java.lang.StringBuilder](http://docs.oracle.com/javase/8/docs/api/java/lang/StringBuilder.html)
- [java.nio.ByteBuffer](http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html#put-byte-)
@@ -89,4 +91,4 @@ abcdefghijklmnopqrstuvwxyz
## 参考资料
- 弗里曼. Head First 设计模式 [M]. 中国电力出版社, 2007.
-- Gamma E. 设计模式: 可复用面向对象软件的基础 [M]. 机械工业出版社, 2007.
+- Gamma E. 设计模式:可复用面向对象软件的基础 [M]. 机械工业出版社, 2007.