為什麼要實現Serializable

2021-10-03 08:36:04 字數 605 閱讀 2248

首先第乙個問題,實現序列化的兩個原因:

1、將物件的狀態儲存在儲存**中以便可以在以後重新建立出完全相同的副本;

2、按值將物件從乙個應用程式域傳送至另乙個應用程式域。實現serializabel介面的作用是就是可以把物件存到位元組流,然後可以恢復,所以你想如果你的物件沒實現序列化怎麼才能進行持久化和網路傳輸呢,要持久化和網路傳輸就得轉為位元組流,所以在分布式應用中及設計資料持久化的場景中,你就得實現序列化。

第二個問題,是不是每個實體bean都要實現序列化,答案其實還要回歸到第乙個問題,那就是你的bean是否需要持久化儲存**中以及是否需要傳輸給另乙個應用,沒有的話就不需要,例如我們利用fastjson將實體類轉化成json字串時,並不涉及到轉化為位元組流,所以其實跟序列化沒有關係。

第三個問題,有的時候並沒有實現序列化,依然可以持久化到資料庫。這個其實我們可以看看實體類中常用的資料型別,例如date、string等等,它們已經實現了序列化,而一些基本型別,資料庫裡面有與之對應的資料結構,從我們的類宣告來看,我們沒有實現serializabel介面,其實是在宣告的各個不同變數的時候,由具體的資料型別幫助我們實現了序列化操作。

為什麼要選擇ISP 為什麼要選擇AHD

在影象傳輸中,我們為什麼選擇nextchip?為什麼要選擇isp?為什麼要選擇ahd?為什麼選擇北京冠宇銘通?這個問題我倒著回答各位 一 北京冠宇銘通科技是nextchip目前為止唯一一家正式官方授權 車載產品廠家之一 二 ahd和其他幾種傳輸方式相比,擁有自己的專利,其他幾家有專利的沒有幾個,如果...

為什麼要分詞

這裡不討論這個問題,我要說的為什麼要分詞?分詞是什麼!有人問 分詞有什麼作用啊?某人答 搜尋引擎要用到中文分詞,所以非常重要 這完全是廢話,說了等於沒說。搜尋引擎又為什麼要分詞呢?其實一般意思上指的分詞是比較狹隘的意思,指中文的詞是怎樣劃分的。因為中文沒有空格,所以要理解一篇文 章,你首先當然要切分...

為什麼要重構

在現實工作中,重構 更多被用來成為彌補缺陷 增加功能 修改設計等工作,而很多人潛意識裡也認為重構就是修改 重寫 而這往往曲解了重構的本意。重構是乙個過程,是建立在不違背外在行為的前提下,對 進行修改,改進程式的內部結構。重構不等於重新設計,軟體工程裡一定要先進行設計,再進行編碼,而如果你在之後對設計...