2017-10-21 301 views
-2

我正在研究一个简单的java项目,并且从项目规范中读取了“必须提供创建对象的某些形式的内存中持久性”的项目规范。如何理解内存中的持久性?我应该序列化我的对象并将其存储在MySQL中吗?什么是Java中的内存中持久性

+0

不需要。数组或地图或列表就足够了。只要它在记忆中。或者,像[H2](http://www.h2database.com/html/main.html)这样的内容也是“内存中”。 –

+2

这个术语如果不是一个矛盾,有点让人困惑:内存不被认为是持久的(重启机器会导致数据丢失)......我想这是上下文具有所有含义的情况之一。 .. – alfasin

回答

1

矛盾修饰

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

Persistence根据维基百科是“超过创造它的过程的状态”。意味着您的重要数据应该在您的应用程序退出并关闭计算机后存活下来。记忆中的一切都消失了。所以持久性需要在非volatile介质上存储。

对于Java,这可能采取多种途径:

某些数据库可以存储在内存中而不是写入存储,但这意味着当数据库引擎停止时所有数据都会丢失。适用于诸如测试之类的任务,但无法长期保存数据。

您必须咨询这些要求的作者以阐明其意图。