当前位置: 首页 > 面试题库 >

持久化Java对象的最简单方法是什么?

郝玄天
2023-03-14
问题内容

现在,我有一个Java程序,其类当前为POJO,并存储在易失性内存中。这些必须坚持下去。据我了解,两个流行的选择是JDO和Java Persistence
API。对于对SQL,Torque等了解甚少的人,这是向程序数据添加持久性的最简单方法?


问题答案:

序列化到文件系统的传统方法是使用Java序列化。但是,您需要在各处实现Serializable。

一个更简单的解决方案是使用XStream序列化为XML(然后转储到文件系统)。您无需实现任何接口,并且几乎所有内容都可以序列化和反序列化,而无需进一步干预。如果需要,您可以进一步自定义序列化。我曾经遇到过的唯一问题是序列化内部类而没有故意序列化包含的外部类(这是由于隐式this引用造成的)



 类似资料:
  • 问题内容: 我正在尝试使用JSON(使用simplejson)序列化python对象列表,并收到以下错误:对象“不可JSON序列化”。 该类是一个简单的类,其字段只有整数,字符串和浮点数,并且从一个父超类继承相似的字段,例如: foo,bar是我上面提到的简单类型。唯一棘手的事情是,ChildClass有时具有一个字段,该字段引用另一个对象(类型不是ParentClass或ChildClass)。

  • 问题内容: 我在生产中有20GB +的rdb转储。我怀疑有一组特定的按键使它blo肿。我希望有一种方法可以始终从静态转储分析中发现前100个最大对象,或者将其询问给服务器本身,而服务器本身有7M个对象。 像rdbtools这样的转储分析工具在这个(我认为)非常常见的用例中无济于事! 我当时想编写一个脚本,并使用“ redis-cli调试对象”对整个键集进行迭代,但是我感觉必须缺少某些工具。 问题答

  • 问题内容: 我本质上是在寻找“ @Ignore”类型注释,通过它我可以阻止特定字段的持久化。如何做到这一点? 问题答案: 符合您的需求。

  • 我有一个可编码的类: 当我尝试实例化它时: 这给了我一个错误: 调用中缺少参数“from”的参数 我只想在数组中插入一个新对象(newTask)。最简单的方法是什么?

  • 问题内容: 说我有一个类似的任务: 并行化每个compute()的最简单方法是什么(假设它们已经可以并行化了)? 我不需要严格匹配上面代码的答案,而只是一个常规答案。但是,如果您需要更多信息:我的任务是IO绑定的,这是针对Spring Web应用程序的,这些任务将在HTTP请求中执行。 问题答案: 我建议看一下ExecutorService。 特别是这样的事情: 请注意,如果列表很大,使用可能会很

  • 问题内容: 在Java中,数组不会覆盖toString(),因此,如果您尝试直接打印一个数组,则得到数组的十六进制,如下所示: 但是通常情况下,我们实际上会想要更多类似的东西。最简单的方法是什么?以下是一些示例输入和输出: 问题答案: 从Java 5开始,您可以;然后将或用于数组中的数组。请注意,版本调用数组中的每个对象。输出甚至以您要求的确切方式修饰。 例子: 简单数组: 输出: 嵌套数组: 输