一.不变模式
1.什么是不变模式?
一个类的内部状态创建后,在整个生命期间都不会发生变化时,就是不变类 ,不变并不代表是只读的,不变模式有一个特点,就是不需要同步。
怎么理解不变与只读呢?就好比我们的出生年月是不变的,我们的你年龄是只读的,随着时间的增加,一个人的年龄会随之增加,但是一个他的出生年月是不会再变的。
不变模式在java 中最著名的应用就是String 类,更多信息请google.
他的类的修饰符使用的是final 就是这个类不需要被继承。
那么就有同学问了我定义一个string 的变量,为什么可以replace,或者substring,或者重新赋值一个新的值呢?
例如 :
Stringb="move";
b=b.substring(0, 2);
System.err.println(b);//mo
输出的变量b 是 mo,而并不是move
2.疑问:不是不变的吗?为什么现在又变了呢?
实际上调用substring 的方法生成一个新的变量,可以理解为c, 然后又将c 赋值给了b。
这里再留一个问题?
输出的是什么结果?为什么?
二.future 模式
他是一个使用非常广泛应用的并发模式,他的核心思想是异步调用
今明天晚上继续futrue 模式