java对象持久化保存的方法详解

 更新时间:2023年07月20日 09:46:10   作者:王雀跃  
这篇文章主要介绍了java对象持久化保存的方法详解,在java应用开发的过程中,经常遇到需要持久保存java对象的情况,比如:用户信息、博客评论内容等等,本文针对java对象的持久化保存方法进行讨论,简述各个方法的优劣,需要的朋友可以参考下

java对象持久化

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

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

使用文件

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

优点①几乎能保存任何形式数据; ②实现简单。
缺点读写文件的效率较低,不适用于数据量比较大的情况。
应用场景①读写速率要求不高、数据量不大 ②数据格式没有严格限定。
推荐使用形式将对象转换为json字符串进行存取,java有json格式数据的解析函数,十分方便。

使用序列化与反序列化

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

优点①能够保存所有对象数据,且对私有数据可控;②实现简单;③读写数据结构严谨,解析方便。
缺点不适用数据量比较大的情况。
应用场景读写速率要求不高、数据量不大的情况。

使用数据库

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

优点①适用于数据量比较大的情况 ②读写速度快;数据结构严谨。
缺点①只能保存数据库接受的数据  ②比前两者实现稍显复杂。
应用场景读写速率要求高、数据量大且数据结构严谨的情况。
推荐数据库如果选用关系型数据库,数据量低于50GB的小型数据库应用, 推荐使用JDK自带的Apache Derby的内嵌开发模式。Derby非常小巧,核心部分derby.jar只有2M,相比于其他数据库用起来简便。

到此这篇关于java对象持久化保存的方法详解的文章就介绍到这了,更多相关java对象持久化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • java 打印一字符串,并在main()方法内调用它

    java 打印一字符串,并在main()方法内调用它

    编写一个方法(名字自定,但要符合Java编码规范),方法内打印一字符串,并在main()方法内调用它。
    2017-02-02
  • Java创建型模式之建造者模式详解

    Java创建型模式之建造者模式详解

    建造者模式,是一种对象构建模式 它可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构造出不同表现的对象。本文将通过示例讲解建造者模式,需要的可以参考一下
    2023-02-02
  • Spring中基于xml的AOP的详细步骤

    Spring中基于xml的AOP的详细步骤

    这篇文章主要介绍了Spring中基于xml的AOP的详细步骤,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-06-06
  • 通过实例解析Java类初始化和实例初始化

    通过实例解析Java类初始化和实例初始化

    这篇文章主要介绍了通过实例解析Java类初始化和实例初始化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • Java基于直方图应用的相似图片识别实例

    Java基于直方图应用的相似图片识别实例

    这篇文章主要介绍了Java基于直方图应用的相似图片识别实例,是非常实用的技巧,多见于图形里游戏中,需要的朋友可以参考下
    2014-09-09
  • 简单了解Java synchronized关键字同步

    简单了解Java synchronized关键字同步

    这篇文章主要介绍了简单了解Java synchronized关键字同步,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Spring boot跨域设置实例详解

    Spring boot跨域设置实例详解

    这篇文章主要介绍了Spring boot跨域设置实例详解,简单介绍了跨域的定义,原因,使用场景及解决方案,具有一定参考价值,需要的朋友可以了解下。
    2017-11-11
  • mybatis返回list<Integer>时resultType写Integer问题

    mybatis返回list<Integer>时resultType写Integer问题

    这篇文章主要介绍了mybatis返回list<Integer>时resultType写Integer问题,具有很好的参考价值,希望对大家有所帮助,
    2023-12-12
  • Spring创建bean实例的几种方式分享

    Spring创建bean实例的几种方式分享

    这篇文章主要介绍了Spring创建bean实例的几种方式分享,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • 基于java springboot + mybatis实现电影售票管理系统

    基于java springboot + mybatis实现电影售票管理系统

    这篇文章主要介绍了基于java springboot + mybatis实现的完整电影售票管理系统基于java springboot + mybatis,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-08-08

最新评论