序列化是什麼?爲什麼要序列化?
這裏面有一對概念。
把對象轉化爲可以傳輸的字節,這個過程叫做序列化,
把字節還原成爲對象,這個過程叫做反序列化。
那爲什麼需要序列化呢?
是爲了這個對象可以跨平臺的進傳輸。和網絡傳輸。因爲我們傳輸的方式是io,io支持的是字節數組。但是我們單純的把它轉成字節是沒用的。你要有一定的規則去轉換,然後再用一定的規則把它還原,這樣這個對象在跨平臺之後還是原來的對象。然後這個規則就叫做序列化。和反序列化。
什麼時候需要序列化?凡是需要跨平臺傳輸的時候,我們都需要序列化序列化的方式。序列化有好幾種方式,
jdk。他的缺點是不支持跨語言,
Json
XML
Hessian
Kryo(不支持跨語言)
Thrift。
Protostuff。
Java的序列化很簡單,只需要類實現Serializable接口就行了。