序列化和反序列化:Java的對象序列化是指將那些實現了Serializable接口的對象轉換成一個字節序列,並可以在之後將這個字節序列徹底恢復爲原來的對象。數據庫
爲何要序列化:數據持久化存儲(包括數據庫存儲、文件存儲等等),固然也能夠叫流式數據傳輸。數據結構
如何去實現序列化和反序列化:數據結構對象上只要實現Serializable接口就行jvm
serialVersionUID這個參數是幹啥的呢?對象
能夠把它理解爲這個對象的惟一Id,若是不定義,jvm會自動爲其隨機生成,不少狀況下,都是須要去修改這個實體對象的,修改完後serialVersionUID值不一致,就會報錯blog
另外一個注意的點,若是我把serialVersionUID這個值給修改了,會不會影響序列化和反序列化呢?接口
答案是不會的,序列化和反序列化是不會對靜態變量產生影響的,因此在定義實體對象的時候要注意了。io