
































這個ID生成類采用了系統(tǒng)當(dāng)前時間作為隨即數(shù)產(chǎn)生的種子,這個并不難理解。但是有一個地方需要我們注意的就是關(guān)鍵字transient的使用。這個關(guān)鍵的作用是告訴編譯器假設(shè)該類的對象被序列化了,這個值不需要被保存。因?yàn)樗?#8220;瞬時”的。
這一點(diǎn)和前面我們見到的其它類不同,在impl.basic包下,幾乎90%的類都會有這樣類似的一句話

為什么要加這句話呢?這是因?yàn)楫?dāng)我們序列化對象后,對象所屬的類仍然可能被改變(例如增加,刪除了一個變量),如果我們先序列化后再反序列化會發(fā)現(xiàn)編譯器報錯。此時我們需要加上這個“序列化版本UID”---就好比類的對象當(dāng)前狀態(tài)的快照一樣。當(dāng)以后恢復(fù)后編譯器會自動反序列化對象,同時加上新的變化。
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。