java对象持久化保存的方法

在java应用开发的过程中,经常遇到需要持久保存java对象的情况。比如:用户信息、博客评论内容等等,本文针对java对象的持久化保存方法进行讨论,简述各个方法的优劣,供大家参考。

通常有三种可选择的方法,如下:

  • 使用文件
  • 使用序列化与反序列化
  • 使用数据库

使用文件

将所需保存的对象内容或数据内容以文件的形式进行存储,在使用时直接读取文件并且解析。

优点

①几乎能保存任何形式数据;

②实现简单。

缺点 读写文件的效率较低,不适用于数据量比较大的情况。
应用场景

①读写速率要求不高、数据量不大

②数据格式没有严格限定。

推荐使用形式

将对象转换为json字符串进行存取,java有json格式数据的解析函数,十分方便。

使用序列化与反序列化

在不使用数据库的情况下,比较方便的保存和加载少量的数据。数据以XXX.ser文件保存。注意:XXX.ser 文件所在的路径必须已经存在,否则会出现“找不到”或“不存在”问题。XXX.ser 文件能够自动生成。

优点

①能够保存所有对象数据,且对私有数据可控;

②实现简单;

③读写数据结构严谨,解析方便。

缺点 不适用数据量比较大的情况。
应用场景 读写速率要求不高、数据量不大的情况。

使用数据库

根据数据具体类型,选择合适的关系型或者非关系型数据库。

优点

①适用于数据量比较大的情况

②读写速度快;数据结构严谨。

缺点

①只能保存数据库接受的数据

②比前两者实现稍显复杂。

应用场景 读写速率要求高、数据量大且数据结构严谨的情况。
推荐数据库 如果选用关系型数据库,数据量低于50GB的小型数据库应用, 推荐使用JDK自带的Apache Derby的内嵌开发模式。Derby非常小巧,核心部分derby.jar只有2M,相比于其他数据库用起来简便。

你可能感兴趣的:(Java,java,开发语言)