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对象持久化内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Proxy实现AOP切面编程案例

    Proxy实现AOP切面编程案例

    这篇文章主要介绍了Proxy实现AOP切面编程案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-08-08
  • SpringBoot整合Swagger2代码实例

    SpringBoot整合Swagger2代码实例

    这篇文章主要介绍了SpringBoot整合Swagger2代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Java 类与对象详细

    Java 类与对象详细

    这篇文章主要介绍了Java 类与对象,在Java中,我们把对象的特征称为属性,对象的用途称为方法,具有相同属性和方法的对象,我们把他们归为一类,简称类。下面文章讲详细介绍什么是Java类与对象,需要的朋友可以参考一下
    2021-10-10
  • JdbcTemplate方法介绍与增删改查操作实现

    JdbcTemplate方法介绍与增删改查操作实现

    这篇文章主要给大家介绍了关于JdbcTemplate方法与增删改查操作实现的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者使用JdbcTemplate具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • 使用java操作elasticsearch的具体方法

    使用java操作elasticsearch的具体方法

    本篇文章主要介绍了使用java操作elasticsearch的具体方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • 基于java中的null类型---有关null的9件事

    基于java中的null类型---有关null的9件事

    这篇文章主要介绍了java中的null类型---有关null的9件事,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • java如何获取用户登录ip、浏览器信息、SessionId

    java如何获取用户登录ip、浏览器信息、SessionId

    这篇文章主要介绍了java如何获取用户登录ip、浏览器信息、SessionId,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Java中main函数的String[] args用法举例详解

    Java中main函数的String[] args用法举例详解

    这篇文章主要给大家介绍了关于Java中main函数的String[] args用法的相关资料,JAVA类中main函数的参数String[] args指的是运行时给main函数传递的参数,文中通过图文以及代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Java数组与堆栈相关知识总结

    Java数组与堆栈相关知识总结

    今天给大家带来的是关于Java的相关知识,文章围绕着Java数组与堆栈展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Spring中的NamespaceHandler与BeanDefinitionParser详解

    Spring中的NamespaceHandler与BeanDefinitionParser详解

    这篇文章主要介绍了Spring中的NamespaceHandler与BeanDefinitionParser详解,由Spring启动过程之obtainFreshBeanFactory() ,可以看到NamespaceHandler、BeanDefinitionParser为解析配置文件中的Element起重要作用,那么它本身是如何被加载的呢,需要的朋友可以参考下
    2023-12-12

最新评论