我的桌面应用程序中有一大堆

Java对象,我试图决定将文件作为文件系统的最佳方式.

我曾经有过一些想法:

>使用DataOutputStream滚动我自己的串行器:这将给我最大的控制文件中的内容,但是以微量管理为代价.

>使用ObjectOutputStream及其各种相关类的直接旧序列化:我没有出售它,尽管我发现数据很脆弱.更改任何对象的结构会破坏序列化的实例.所以我被锁定在什么似乎是一个可怕的版本控制噩梦.

> XML序列化:它不是那么脆弱,但直接串行化显然要慢一些.它可以在我的程序之外进行转换.

> JavaDB:我曾经考虑过,因为我很适合编写JDBC应用程序.这里的区别是数据库实例只会在打开或保存文件时持续存在.它不是很漂亮,但如果需要出现在后面,它可以迁移到中央服务器架构,并且以简单的方式介绍了查询数据模型的可能性.

我很好奇看到别人的想法.我希望我错过了一些比上述更明显,更简单的方法.

这里有一些更多的选择,从下面的答案中剔除:

>对象数据库 – 具有比ORM方法少得多的基础架构,并且执行速度比XML方法更快.感谢aku

java怎么将程序保存在桌面_在Java桌面应用程序中保留数据的最佳方法是什么?...相关推荐

  1. python 数据逐个验证_在python中验证数据的最佳方法是什么?

    我是Python的新手,我试图找到验证数据的最佳方法.在 我有一个"well"类型的对象,它具有其他对象的属性.也可以通过XML文件来获取数据.下面是一个例子.在class Wel ...

  2. java xml二进制流传输_XML中二进制数据的处理方法

    XML中二进制数据的处理方法 在xml中,所有的数据都是以文本的形式来显示,但是二进制数据不能直接以文本格式来表示,那xml又是怎么处理二进制数据的呢?下面就来探讨一下. 为了简单和通用性,xml被设 ...

  3. java程序运行5步骤_浅析Java程序的执行过程

    一 .jdk内容概述 当安装好jdk后(本示例jdk版本为11.0.1,不同版本,目录有细微差别,但bin目录包含的exe是一样的),打开bin目录,有两个重要的exe文件:javac.exe(编译器 ...

  4. java应用程序占用高内存_对Java应用程序中的内存问题进行故障排除

    java应用程序占用高内存 重要要点 解决内存问题可能很棘手,但是正确的方法和正确的工具集可以大大简化此过程. Java HotSpot JVM可以报告几种OutOfMemoryError消息,因此务 ...

  5. linux运行java程序内存过大_排查java应用linux环境内存占用过高的问题

    一.问题场景 在一个短信平台的项目中,设置了一个下发节点的Xmx为16G,但是出现了内存撑满,导致CPU过高的情况.当时的具体情况是,该应用内存占用16G,该应用CPU占用1400%(16核),服务器 ...

  6. java输入长宽高计算表面积_设计一个C语言程序计算长方体体积和表面积,长宽高通过键盘输入?????...

    展开全部 # include int main (void) { double l, w, h;//定义变量62616964757a686964616fe4b893e5b19e313333656463 ...

  7. java中级程序员面试题_中级Java程序员常见面试题汇总

    下面是一些中级Java程序员常见面试题汇总,你可以用它来好好准备面试. 什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.程序员可以通过它进行多处理器 ...

  8. java程序实现剪刀石头布功能_基于JAVA的剪刀石头布游戏设计——Java课程设计报告_...

    基于JAVA的剪刀石头布游戏设计 1剪刀石头布游戏设计思路阐述 在设计游戏时,我们要充分考虑到剪刀石头布游戏的特性,以及多种技术的实现: ⑴构造创建服务器端和客户端 ⑵创建输入输出流 ⑶编写服务器端处 ...

  9. 通常我们将python语言程序保存在一个后缀_知到毛概章节测试答案2020

    知到毛概章节测试答案2020 更多相关问题 [多选题]Discussion section should be______________. [填空题]下面的程序是用do while语句求1至1000 ...

最新文章

  1. 5.1基于JWT的认证和授权「深入浅出ASP.NET Core系列」
  2. 循序渐进学.Net Core Web Api开发系列【14】:异常处理
  3. 20155303 2016-2017-2 《Java程序设计》第二周学习总结
  4. vue中如何使用mockjs摸拟接口的各种数据
  5. MATLAB读取txt文件的数据
  6. Mysql 的一些基本用法
  7. 如何安装sshd服务用于远程登录
  8. 吃饭、睡觉、打星星之“打星星”!
  9. oracle 压力测试工具benchmarksql
  10. java 从键盘中读取字符流 自定义异常
  11. pandas插入新列
  12. opencv3.4.0在ubuntu16.04上的安装
  13. shell里写个简单循环
  14. 解决 应用程序无法启动(0xc000007b),请单击确定关闭应用程序
  15. android killer 编译失败,解决Android killer APK 编译失败,无法继续下一步签名
  16. html5标签含义元素周期表
  17. sublime解决中文乱码问题
  18. 在线富文本html编辑,html编辑器 - 经典富文本网页在线编辑器 - HtmlEditor
  19. PHP面试经常被问到的问题(附答案)
  20. MATLAB柱状图去掉黑色边框

热门文章

  1. Hive与Hadoop的调用关系
  2. mysql5.6允许远程服务器访问数据库
  3. java正则表达式非贪婪_正则表达式中的贪婪与非贪婪匹配模式
  4. c 服务器传输大文件,cend.me:不须经过服务器,直接点对点的文件传输免费服务...
  5. [转载] 使用Python编写打字训练小程序
  6. Java Double类hashCode()方法及示例
  7. Python | 使用+ =运算符在字符串末尾附加文本
  8. 地图统计_博客 城市访问量统计并且通过Echarts+百度地图展示
  9. git master主分支_Git分支管理策略及简单操作
  10. python if语句 for语句 while语句