Java序列化与反序列化(实战应用与小坑)

本文探讨了Java序列化与反序列化的概念、用途、操作步骤以及潜在问题。通过实例展示了如何序列化和反序列化对象,强调了序列化ID在保持版本一致性中的作用。同时,讨论了静态变量、静态类对象以及静态对象在序列化中的行为。
摘要由CSDN通过智能技术生成

前言:杜绝八股取士,活学活用从我做起,本文将会从简单的维度入手,分析序列化到底是什么?为什么要用?怎么用?有什么坑?希望能帮助到更多学习道路上的同学

1:是什么?

简单来说,序列化就是把内存中的对象通过一定的规则转换成字节序列,然后保存到磁盘,反序列化就是从磁盘中读取对应的字节序列出来恢复成原来那个对象,也可以说是根据字节序列“创建”出原来那个对象,我们都记得创建对象的几种方式:new,clone,reflect,序列化与反序列化。

2:为什么要用?

首先很明显就是保存某个对象在某一时期的某种状态,又或者为了保存某个对象的信息,你把它序列化后,可以保存在mysql数据库,也可以通过Socket进行传输,也可以保存到txt文件中,反正随便放,到时候读取出来再反序列化就可以,好处就是节约内存,如果有大量的对象,不能丢弃回收内存,但是内存空间又不足,这个时候可以考虑把一部分序列化保存到磁盘上,要用的时候再通过反序列化找回来。

3:怎么用?

(1)定义一个Student类
public class Student implements Serializable {
    private static final long serialVersionUID = -580978257827294399
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值