序列化的祕密,詳細內容請看附件
內容簡介:
爲什麼要有序列化:
一樣事物的產生,必然有他的道理
序列化都幹些啥:
產生了就得幹活
首要問題:反序列化時如何生成實例
序列化時將實例變爲了字節序列,反序列化時就得把實例再給你變回來
是不是所有的類都需要序列化:
不是所有類都需要實例化,原因是什麼
哪些東西需要序列化:
類裏面有那麼多東西,序列化需要關照到哪些內容?
用transient保護敏感信息 :
如果類裏有的字段是敏感信息,不想被序列化,該怎麼辦?
序列化算法:
探究序列化的原理
定製自己的序列化算法:
自己也可以定製序列化,step bystep告訴你怎麼做
嚴重漏洞:刻舟求劍:
從字節序列中讀取老版本的對象,去恢復新版本的,好比刻舟求劍
單例模式不過是浮雲:
序列化可以肆意生成實例,單例模式很難保證,我們該如何做?
同引用實例化問題:
如果兩個屬性引用了同一個實例,反序列化時是生成一個實例,還是兩個?
常見的序列化攻擊:
序列化的過程“漏洞重重”,自然攻擊也就來了,有哪些攻擊,我們該如何做
百家爭鳴:hessian和mina也玩序列化:
hessian和mina都實現了自己的序列化,各有千秋百家爭鳴,我們來探討一下
工作中需要注意的點:
如何用好序列化
附錄1 ObjectOutputStream和ObjectInputStream:
序列化不可獲取的兩個類,放在哪章都不好,只能放在這裏做個參考
附錄2 Serializable中的隱藏方法一覽:
Serializable裏有很多不爲人知的祕密
參考文獻:
想擴展閱讀請看這裏,很多高手的文章都在這裏,感謝他們的幫助
很多內容都是自己瞎琢磨的,有問題請大家批評指正thanks