回覆列表
  • 1 # 一個窮人

    所謂的Serializable,就是java提供的通用資料儲存和讀取的介面。至於從什麼地方讀出來和儲存到哪裡

    去都被隱藏在函式引數的背後了。這樣子,任何型別只要實現了Serializable介面,就可以被儲存到檔案中,或者作為資料流透過網路傳送

    到別的地方。也可以用管道來傳輸到系統的其他程式中。這樣子極大的簡化了類的設計。只要設計一個儲存一個讀取功能就能解決上面說得

    所有問題。

    java的"物件序列化"能讓你將一個實現了Serializable介面的物件轉換成一組byte,這樣日後要用這個物件時候,你就能把這些byte數

    據恢復出來,並據此重新構建那個物件了。

    工作流當中流程變數的幾種資料型別:string integer short long double boolean date binary serializable,這就是為什麼要將

    javabean實現序列化的原因,因為你將物件設定到流程變數中必須要實現序列化,否則會在設定流程變數的時候報錯找不到該型別

    java物件序列化機制就是把記憶體中的Java物件(User之類的JavaBean)轉換成二進位制流。java物件序列化後可以很方便的儲存或者在網路

    中傳輸。Java的序列化機制是透過執行時判斷類的序列化ID(serialVersionUID)來判定版本的一致性。在反序列化時,java虛擬機器會透過二

    進位制流中的serialVersionUID與本地的對應的實體類進行比較,如果相同就認為是一致的,可以進行反序列化,正確獲得資訊,否則丟擲序列

    化版本不一致的異常。所以涉及到資料傳輸或者儲存的類,嚴格意義上來說都要加上序列化ID,這也是一種良好的程式設計習慣。

  • 中秋節和大豐收的關聯?
  • 古風歌曲填詞的時候,是不是要用平仄,如果用的話,用在哪兒?