javabean-序列化

在Java开发中,序列化用于将对象状态转换为可存储或传输的形式,以便持久化或跨网络传输。本文探讨了一个由于未实现序列化导致的问题,即查询结果重复,强调了序列化在对象持久化到数据库中的重要性。通过实现Serializable接口,利用ObjectOutputStream和ObjectInputStream进行序列化和反序列化操作,可以实现对象的保存和恢复。
摘要由CSDN通过智能技术生成

       讲这个之前先来描述一段异常:向后台数据库视图(实体含文件)发起一个查询请求,前台带了个条件和分页就兴高采烈的向业务层扬帆起航了。但是谁曾想,本来顺风顺水的一段请求响应,发生了一件让我对电脑它全家都大不敬了的悬案。明明给了数据库6笔数据,本着有来有回、公平交易的原则它给我返回6条数据这天经地义,当看到list.size=6时,我兴奋滴喝了一口水故作平静继续检查着数据,随后发现系统返回的6条数据是一样的,好比你借人600RMB,别人还了一张100的还有五张连编号都一样的100给你,试问谁敢要。要多反思,于是我找遍了所有相关函数以及处理过程Demo,不断的Debug,查Baidu,执行SQL直到失去耐心。最后才知道,是没有序列化的缘故。       

      序列化能解决什么样的业务需求?

       在java中,我们可以通过多种方式来创建一个对象,并且只要该对象没有被GC回收我们是可以复用这个对象。但是我们创建出来的java对象都存在于JVM的堆内存中,只有当JVM处于运行状态的时候这个对象才能存在,一旦JVM停止运行,该对象也会随之而丢失。

       但是在实际开发场景中,我们需要将这些对象持久化下来,让它的存在不再局限于JVM的运行,在需要的时候读出所要的对象。换而言之就是java对象通过持久层框架存入数据库中,这就是序列化的使用场景。

那么,什么是序列化?

       专业度娘:序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程。就是把对象转换为字节序列的过程。

       通

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值