Java序列化和反序列化

一、序列化和反序列化

1、含义

​ 序列化就是内存中的对象写入到IO流中,保存的格式可以是二进制或者文本内容。反序列化就是IO流还原成对象。

2、用途

(1)传输网络对象

(2)保存Session

二、Java序列化演示

1、序列化

java.io.ObjectOutputStream代表对象输出流,它的writeObject()方法可对参数指定的对象进行序列化,把得到的字节序列写到一个目标输出流中。

2、反序列化

java.io.ObjectInputStream代表对象输入流,它的readObject()方法从一个源输入流中读取字节序列,再把它们反序列化为一个对象,并将其返回。

三、反序列化漏洞

1、如果某个类需要自定义反序列化方式,可以重写类的readObject()方法。

2、在反序列化的过程中,会调用这个类的重写readObject()方法。

3、如果readObject()方法的代码有一些敏感操作,就可能会引发漏洞。

posted @   candada  阅读(133)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示