JAVA序列化与反序列化-阿里云开发者社区

开发者社区> @北鲲> 正文

JAVA序列化与反序列化

简介: Java 序列化是指把 Java 对象转换为字节序列的过程; Java 反序列化是指把字节序列恢复为 Java 对象的过程;
+关注继续查看


0x01 简述

Java 序列化是指把 Java 对象转换为字节序列的过程;
      Java 反序列化是指把字节序列恢复为 Java 对象的过程;


0x02 实验部分

 看完上面的简述,可能很多人似懂非懂。

 比如你现在写一个项目,该项目有一个登录功能。该功能每次登录都需要从指定文件txt中读取账号密码进行登录。那么该文件内账号密码为明文的状态,肯定是不安全的。所以这个时候就用到了序列化与反序列化。当把账号密码序列化之后,里面的账号密码就会变成字节形式。当有人打开也会看不懂。只有进行反序列化才能恢复原样。

类代码:




















public class USER implements Serializable {    public String user;    public int pass;    public USER(){
    }    public USER(String user,int pass){        this.user = user;        this.pass = pass;    }    public void set(String user,int pass){        this.user = user;        this.pass = pass;    }    public void get(){        System.out.println("user: " +this.user+" pass: "+this.pass);    }}

序列化代码:






USER us = new USER();  us.set("zhangsan",666666);  ObjectOutputStream obj = new ObjectOutputStream(new FileOutputStream("D:\\p.txt"));  obj.writeObject(us);  obj.close();

可以看到这就是序列化的内容

图片.png


反序列化操作





ObjectInputStream obj = new ObjectInputStream(new FileInputStream("D:\\p.txt"));        USER u = (USER)obj.readObject();        u.get();        obj.close();

        可以看到反序列化之后,成功将数据进行恢复

图片.png



0x03 结尾

本文主要讲解了ObjectOutputStream和ObjectInputStream两种类


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Spring之Bean的生命周期详解
通过前面多个接口的介绍了解了Bean对象生命周期相关的方法,本文就将这些接口的方法串起来,来了解Bean的完整的生命周期。而介绍Bean的生命周期也是面试过程中经常会碰到的一个问题,如果不注意就跳坑里啦~~
4 0
Spring之InitializingBean接口和DisposableBean接口介绍
本文来介绍下InitializingBean接口和DisposableBean接口的作用
5 0
Spring之Bean对象的初始化和销毁方法
在Bean对象的完整的生命周期前我们还需要给大家介绍下Bean对象自身初始化及销毁的相关方法。
3 0
Spring之Aware接口介绍
在Bean对象的生命周期的方法中有好几个接口是Aware接口的子接口,所以弄清楚Aware接口对于理解Spring框架还是很有帮助的。
3 0
Spring之BeanPostProcessor(后置处理器)介绍
为了弄清楚Spring框架,我们需要分别弄清楚相关核心接口的作用,本文来介绍下BeanPostProcessor接口
3 0
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?(1)
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?
4 0
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?(2)
除了闹过腥风血雨的fastjson,你还知道哪些Java解析JSON的利器?
5 0
Java模板模式(template)
java23中设计模式中的模板模式是我们经常在框架源码中能看到的设计模式,所以本文就给大家来介绍下模板模式
4 0
教妹学Java(五):Java程序在编译和运行时发生了什么
教妹学Java(五):Java程序在编译和运行时发生了什么
3 0
Java装饰者模式(decorator)
文章目录 装饰者模式(decorator) 1.实现细节 2.案例演示 3.IO流实现细节 4.实际使用场景 5.总结
3 0
+关注
@北鲲
主要玩耍对服务器的渗透测试技术
30
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载