JAVA序列化的作用

來源:互聯網
上載者:User

標籤:log   ref   span   ble   文章   tar   href   div   實現   

    今天看了一下項目中的action大多數都沒有進行序列化。所以項目上都是一大堆警告。

序列化究竟有什麼作用呢?

簡單來說。Java的序列化機制是通過在執行時推斷類的serialVersionUID來驗證版本號碼一致性的。

在進行還原序列化時,JVM會把傳來的位元組流中的serialVersionUID與本地對應實體(類)的serialVersionUID進行比較。假設同樣就覺得是一致的。能夠進行還原序列化,否則就會出現序列化版本號碼不一致的異常。

當實現java.io.Serializable介面的實體(類)沒有顯式地定義一個名為serialVersionUID。類型為long的變數時。Java序列化機制會依據編譯的class自己主動產生一個serialVersionUID作序列化版本號碼比較用。這樣的情況下,僅僅有同一次編譯產生的class才會產生同樣的serialVersionUID。

假設我們不希望通過編譯來強制劃分軟體版本號碼。即實現序列化介面的實體可以相容先前版本號碼。未作更改的類。就須要顯式地定義一個名為serialVersionUID。類型為 long的變數,不改動這個變數值的序列化實體都可以相互進行序列化和反序列化。


轉自:http://blog.sina.com.cn/s/blog_3e9d2b3501011uy8.html


====================================

看了非常多關於序列化的文章,其他都說的太官方或者邪乎。就這篇文章讓我突然明確了序列化的意思。


JAVA序列化的作用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.