您现在的位置是:主页 > 博文 > 福利专区 > 编程那点事 >

浅谈一下java序列化与数据持久化

2019-12-23 收藏 推荐 文章来源:引用作者:锤子

简介1. 什么是数据持久化 简单来讲:数据持久化,即就是将数据(内存对象)保存到可以长时间保存的设备(磁盘)的过程。 数据持久化就是让数据在 持久状态 和 瞬间状态 相互转换的一种机制

1. 什么是数据持久化

简单来讲:数据持久化,即就是将数据(内存对象)保存到可以长时间保存的设备(磁盘)的过程。

 

数据持久化就是让数据在 “持久状态” 和 “瞬间状态” 相互转换的一种机制(例如:IO 操作,JDBC 操作)。

 

持久状态:系统或应用重启之后数据(内存对象)的状态依然存在。

 

瞬间状态:系统或应用在工作时可操作的状态。

 

持久化需要将对象的状态保存到数据库(或者文本文件、xml 文件等),也可通过读取持久化的对象状态还原对象(这个操作过程中包含了 “序列化” 过程)。

 

2. 什么是数据序列化

简单来讲:数据序列化,即就是将数据(内存对象)写入字节流和从字节流中读取对象的过程。

 

数据序列化可以分为 “序列化” 和 “反序列化” 两大部分,分别对应了 “对象实例写入字节流” 和 “读取字节流还原对象实例” 两个过程。

 

在 Java 中实现对象序列化十分简单,只需要对象实现 Serializable 接口即可。要了解 Serializable 接口可以参考 Java Serializable:明明就一个空的接口嘛一文,讲解十分细致。java.io 包中包含两个序列化的类,分别是 ObjectOutputStream 和 ObjectInputStream。

 

通常情况下在 Java 中序列化是自动完成,但是如果需要自己控制序列化过程,则对象需要将 Serializable 替换为 Externalizable。可以利用 Externalizable 接口的 writeExternal() 与 readExternal() 方法控制对象的 “序列化” 和 “反序列化”。

 

注意:由于 writeExternal() 与 readExternal() 方法都是 public 方法,因此可能会存在安全隐患,请谨慎使用。

维护站点不易,如果您觉得文章对你有帮助。

赞赏激励下吧,谢谢支持! ~(@^_^@)~!

赞赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,一分一毛不嫌少

打开支付宝扫一扫,即可进行扫码打赏哦

学的不仅是技术,更是梦想!!!



本站系原创文章其中有部分转载,转载目的在于传递更多信息, 并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本网联系, 我们将在第一时间删除内容![声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。本站拥有对此声明的最终解释权。
 

Tags:java、

顶一下
(1)
100%
踩一下
(0)
0%

发表评论

评论列表(条)