All*_*nde 10 java oop desktop persistence
我的桌面应用程序中有一个庞大的Java对象树,我正在尝试确定将它们作为文件保存到文件系统的最佳方法.
我的一些想法是:
使用DataOutputStream滚动我自己的序列化程序:这将使我能够最大程度地控制文件中的内容,但代价是对其进行微观管理.
使用ObjectOutputStream及其各种相关类的直接旧序列化:虽然因为我发现数据很脆弱,但我没有卖掉它.更改任何对象的结构会破坏它的序列化实例.所以我被锁定在似乎是一个可怕的版本化噩梦.
XML序列化:它并不那么脆弱,但直接序列化的速度要慢得多.它可以在我的程序之外进行转换.
JavaDB:我考虑过这个,因为我很乐意编写JDBC应用程序.这里的区别在于数据库实例仅在打开或保存文件时保持不变.它并不漂亮但是......如果以后需要,它确实可以迁移到中央服务器架构,它引入了以更简单的方式查询数据模型的可能性.
我很想知道其他人的想法.而且我希望我错过了一些比上面更明显,更简单的方法.
以下是从以下答案中剔除的更多选项: