2017-10-21 302 views
-2

我正在研究一個簡單的java項目,並且從項目規範中讀取了「必須提供創建對象的某些形式的內存中持久性」的項目規範。如何理解內存中的持久性?我應該序列化我的對象並將其存儲在MySQL中嗎?什麼是Java中的內存中持久性

+0

不需要。數組或地圖或列表就足夠了。只要它在記憶中。或者,像[H2](http://www.h2database.com/html/main.html)這樣的內容也是「內存中」。 –

+2

這個術語如果不是一個矛盾,有點讓人困惑:內存不被認爲是持久的(重啓機器會導致數據丟失)......我想這是上下文具有所有含義的情況之一。 .. – alfasin

回答

1

矛盾修飾

在內存持久是自相矛盾的。

Persistence根據維基百科是「超過創造它的過程的狀態」。意味着您的重要數據應該在您的應用程序退出並關閉計算機後存活下來。記憶中的一切都消失了。所以持久性需要在非volatile介質上存儲。

對於Java,這可能採取多種途徑:

某些數據庫可以存儲在內存中而不是寫入存儲,但這意味着當數據庫引擎停止時所有數據都會丟失。適用於諸如測試之類的任務,但無法長期保存數據。

您必須諮詢這些要求的作者以闡明其意圖。