一 什麼叫序列化java
通俗點講:它是處理對象流的一種機制,便可以很方便的保存內存中java對象的狀態,同時也爲了方便傳輸。數據庫
二 序列化有什麼做用安全
1.方便傳輸,速度快,還很安全,被調用方序列化,調用方反序列化便可拿到傳輸前最原始的java對象,經常使用於不一樣進程之間的對象傳輸對象
2.方便存儲,無論是存儲成文件仍是數據庫,都行,存儲爲文件,下回要用能夠直接反序列拿到對象接口
三 怎麼序列化和反序列化進程
實現序列化接口就行(裏面什麼方法都沒有,不用管的,只是一個標記接口而已)Serializable;內存
至於他們的代碼怎麼寫,網上例子不少,隨便搜一下就好了io
四 序列化時須要注意事項變量
爲了避免必要的報錯麻煩: 序列化時最好是定義序列化版本id 即 public static final Long seriaVersionUID = 1L (默認) 或者 xxxxx L(自定義64位都行)序列化
由於反序列化會判斷序列化中的id和類中的id是否同樣,若是不定義雖然會自動生成,但若是後面改了東西列,因此仍是自覺點定義一個id,省去好多麻煩
同時記住靜態變量不會被序列化的,它可不在堆內存中,序列化只會序列化堆內存