日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

serializable接口的作用有哪些

發布時間:2023/12/19 综合教程 32 生活家
生活随笔 收集整理的這篇文章主要介紹了 serializable接口的作用有哪些 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

小編給大家分享一下serializable接口的作用有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

serializable接口的作用:1、存儲對象在存儲介質中,以便在下次使用的時候,可以很快捷的重建一個副本;2、便于數據傳輸,尤其是在遠程調用的時候。

serializable接口的作用:

Serializable接口是啟用其序列化功能的接口。實現java.io.Serializable 接口的類是可序列化的。沒有實現此接口的類將不能使它們的任意狀態被序列化或逆序列化。

個人理解:

這個介紹非常的不接地氣,于是我與去看了幾篇博客,有一個小姐姐的博客引起了我的注意,她是這樣理解的:

序列化的過程,就是一個“freeze”的過程,它將一個對象freeze(冷凍)住,然后進行存儲,等到再次需要的時候,再將這個對象de-freeze就可以立即使用。

我們以為的沒有進行序列化,其實是在聲明的各個不同變量的時候,由具體的數據類型幫助我們實現了序列化操作。

如果有人打開過Serializable接口的源碼,就會發現,這個接口其實是個空接口,那么這個序列化操作,到底是由誰去實現了呢?其實,看一下接口的注釋說明就知道,當我們讓實體類實現Serializable接口時,其實是在告訴JVM此類可被序列化,可被默認的序列化機制序列化。

序列化的作用:

*序列化是將對象狀態轉換為可保持或傳輸的格式的過程。與序列化相對的是反序列化,它將流轉換為對象。這兩個過程結合起來,可以輕松地存儲和傳輸數據。

1,存儲對象在存儲介質中,以便在下次使用的時候,可以很快捷的重建一個副本。也就是When the resulting series of bits is reread according to the serialization format, it can be used to create a semantically identical clone of the original object.

問題:我沒有實現序列化的時候,我一樣可以存入到我的sqlserver或者MySQL、Oracle數據庫中啊,為什么一定要序列化才能存儲呢????

2,便于數據傳輸,尤其是在遠程調用的時候

實現java.io.Serializable這個接口是為序列化,serialVersionUID 用來表明實現序列化類的不同版本間的兼容性。如果你修改了此類, 要修改此值。

否則以前用老版本的類序列化的類恢復時會出錯。

實現后如果你用的是工具的話會出來警告,他會提示你,可以自動生成private static final long serialVersionUID = 1L; 為了在反序列化時,確保類版本的兼容性,最好在每個要序列化的類中加入private static final long serialVersionUID這個屬性,具體數值自己定義. 

關于serialVersionUID的解釋

serialVersionUID作用: 序列化時為了保持版本的兼容性,即在版本升級時反序列化仍保持對象的唯一性。

你可以隨便寫一個,在Eclipse中它替你生成一個,有兩種生成方式: 一個是默認的1L,比如:

privatestaticfinallongserialVersionUID=1L;

一個是根據類名、接口名、成員方法及屬性等來生成一個64位的哈希字段,比如:

privatestaticfinallongserialVersionUID=-8940196742313994740L;

總結

以上是生活随笔為你收集整理的serializable接口的作用有哪些的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。