首頁>技術>

1:序列化只儲存 1)物件的型別, 2)物件屬性的型別,3)物件屬性的值

方法是不帶狀態的,就是一些指令,指令是不需要序列化的,只要你的JVM classloader可以load到這個類,那麼類方法指令自然就可以獲得。序列化真正需要儲存的只是物件屬性的值,和物件的型別。

2:在什麼場景下使用序列化

把一個Java物件變成位元組流的形式傳出去,有的時候我們想要從一個位元組流中恢復一個Java物件。例如,有的時候我們想要把一個Java物件寫入到硬碟或者傳輸到網路上面的其它計算機,這時我們就需要自己去透過java把相應的物件寫成轉換成位元組流

4:transient關鍵字 修飾屬性 告訴java 此屬性不需要序列化

補充:為什麼使用Serializable定義資料型別或者接受陣列?

應用了java的多型性,目的是為了靈活的傳入引數,可以接受很多型別資料,如:String,integer,long等型別。他們均實現了Serializable,所以均可以接受,通俗的講只要你實現了Serializable型別就可以傳遞。

為什麼這麼做呢?

其實就是為了減少程式碼,提高程式碼利用率。就比如:你不用Serializable,你使用String型別資料,就必須拿String型別接受,你使用Integer資料,也就必須拿Integer接受。

為什麼不使用泛型呢?

那也有人說這不相當泛型嗎?那為啥不用泛型呢?如果用泛型那麼父類必須要實現並傳遞泛型,沒有這樣簡便輕巧。在這裡使用泛型太過繁瑣。

9
最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • Taro小程式自定義頂部導航欄