serializable介面的作用:1、儲存物件在儲存媒體中,以便在下次使用的時候,可以很快捷的重建一個副本;2、便於資料傳輸,尤其是在遠端呼叫的時候。
本文操作環境:Windows7系統,Dell G3電腦。
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,例如:
private static final long serialVersionUID = 1L;
一個是根據類別名稱、介面名、成員方法及屬性等來產生一個64位的雜湊字段,例如:
private static final long serialVersionUID = -8940196742313994740L;
#相關免費學習推薦:##程式設計影片
#
以上是serializable介面的作用是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器