一.不變模式
1.什么是不變模式?
一個類的內(nèi)部狀態(tài)創(chuàng)建后泉瞻,在整個生命期間都不會發(fā)生變化時脉漏,就是不變類 ,不變并不代表是只讀的袖牙,不變模式有一個特點(diǎn)侧巨,就是不需要同步。
怎么理解不變與只讀呢鞭达?就好比我們的出生年月是不變的司忱,我們的你年齡是只讀的皇忿,隨著時間的增加,一個人的年齡會隨之增加坦仍,但是一個他的出生年月是不會再變的鳍烁。
不變模式在java 中最著名的應(yīng)用就是String 類,更多信息請google.
他的類的修飾符使用的是final? 就是這個類不需要被繼承。
那么就有同學(xué)問了我定義一個string 的變量繁扎,為什么可以replace,或者substring,或者重新賦值一個新的值呢幔荒?
例如 :
Stringb="move";
b=b.substring(0,?2);
System.err.println(b);//mo
輸出的變量b 是 mo,而并不是move
2.疑問:不是不變的嗎?為什么現(xiàn)在又變了呢锻离?
實(shí)際上調(diào)用substring 的方法生成一個新的變量铺峭,可以理解為c, 然后又將c 賦值給了b。
這里再留一個問題汽纠?
輸出的是什么結(jié)果卫键?為什么?
二.future 模式
他是一個使用非常廣泛應(yīng)用的并發(fā)模式虱朵,他的核心思想是異步調(diào)用
今明天晚上繼續(xù)futrue 模式