我對持久化的認識

持久化是將程序數據在持久狀態和瞬時狀態間轉換的機制。即把數據(如內存中的對象)保存到可永久保存的存儲設備中(如磁盤)。
持久化是一種對象服務,就是把內存中的對象保存到外存中,讓以後能夠取回。需要實現至少3個接口:   
void Save(object o) 把一個對象保存到外存中   
Object Load(object oid) 通過對象標識從外存中取回對象  
bool Exists(object oid) 檢查外存中是否存在某個對象

爲什麼需要持久化服務呢?那是由於內存本身的缺陷引起的:內存掉電後數據會丟失且內存過於昂貴。

什麼是對象持久化,什麼是對象序列化,如何實現java的對象序列化?
持久化的對象,是已經存儲到數據庫或保存到本地硬盤中的對象,我們稱之爲持久化對象。

爲了保存在內存中的各種對象的狀態(也就是實例變量,不是方法),並且可以把保存的對象狀態再讀出來。雖然你可以用你自己的各種各樣的方法來保存object states,但是Java給你提供一種應該比你自己好的保存對象狀態的機制,那就是序列化。
簡單說就是對象序列化是將對象狀態轉換爲可保持或傳輸的格式的過程。
什麼情況下需要序列化  :
    a)當你想把的內存中的對象狀態保存到一個文件中或者數據庫中時候;
    b)當你想用套接字在網絡上傳送對象的時候;
    c)當你想通過RMI傳輸對象的時候;
對象要實現序列化,是非常簡單的,只需要實現Serializable接口就可以了。
public class Test implements Serializable 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章