gpt4 book ai didi

java - 在 Java 桌面应用程序中持久保存数据的最佳方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:53 24 4
gpt4 key购买 nike

我的桌面应用程序中有一大堆 Java 对象,我正在尝试确定将它们作为文件保存到文件系统的最佳方式。

我的一些想法是:

  • 使用 DataOutputStream 滚动我自己的序列化程序:这将使我能够最大程度地控制文件中的内容,但代价是对其进行微观管理。

  • 使用 ObjectOutputStream 及其各种相关类的直接旧序列化:尽管我发现数据很脆弱,但我并不买账。更改任何对象的结构都会破坏它的序列化实例。所以我陷入了一场看似可怕的版本控制噩梦。

  • XML 序列化:它不那么脆弱,但比直接序列化要慢得多。它可以在我的程序之外进行转换。

  • JavaDB:我考虑过这个,因为我很擅长编写 JDBC 应用程序。这里的区别是数据库实例只会在文件被打开或保存时持续存在。它并不漂亮,但是......如果以后需要,它确实有助于迁移到中央服务器架构,并且它引入了以更简单的方式查询数据模型的可能性。

我很好奇其他人的想法。我希望我错过了一些比上述方法更明显、更简单的方法。


以下是从以下答案中挑选出的更多选项:

  • 对象数据库 - 基础架构比 ORM 方法少得多,但执行速度比 XML 方法快。谢谢阿库

最佳答案

我会选择您的最终选择 JavaDB(Sun 的 Derby 发行版)并使用像 Hibernate 这样的对象关系层或 iBatis .使用前三种方法意味着您将花费更多时间构建数据库引擎而不是开发应用程序功能。

关于java - 在 Java 桌面应用程序中持久保存数据的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37271/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com