序列化与持久化相同点跟不同点

本文深入探讨了对象持久化与数据序列化的概念、原理及应用,详细阐述了对象持久化如何将业务数据存储在数据库中,以及数据序列化在数据交换和传输过程中的作用。同时,对比了两者在应用场景、目标和实现方式上的差异,帮助开发者更好地理解并选择合适的技术方案。
对象持久化就是将对象存储在可持久保存的存储介质上,例如主流的关系数据库中。在实际应用中,需要将业务数据以对象的方式保存在数据库中,就需要应用到相应的对象持久化框架,如现在广为认知的Hibernate。而如果查阅对象持久化的历史,你会发现早在1970年就已经开始有称之为面向对象数据库OODBMS。通常这些面向对象的数据库和特定的一种语言绑定。对象持久化的重点在于如何将业务数据对象存储在持久化介质上,并同时提供查询修改的手段。

数据序列化(Serialization)

数据序列化就是将对象或者数据结构转化成特定的格式,使其可在网络中传输,或者可存储在内存或者文件中。反序列化则是相反的操作,将对象从序列化数据中还原出来。而对象序列化后的数据格式可以是二进制,可以是XML,也可以是JSON等任何格式。对象/数据序列化的重点在于数据的交换和传输,例如在远程调用技术(如EJB,XML-RPC, Web Service),或者在GUI控件开发(JavaBean)等等。

总结一下,对象持久化和对象序列化是两个完全不同的应用场景,尽管你也可以说将一个对象序列化后存储在数据库中,但是你也不能说是对象持久化。


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

一个轻量级,一个重量级。
持久化往往依赖于数据库,是为了长期存储的。
序列化是为了散集和列集做短期存储和数据传递的。

-----------------------------------------------------------------------

对象持久化是一个广义的概念:

简单地说,对象持久化可以把内存中的对象1.写入文件或者2.写入数据库或从数据库中独到内存的相应对象上。
对象序列化是Java中的一项技术,不仅仅能用于数据的持久化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值