简述序列化和Serializeable

本文介绍了Java序列化和反序列化的基本概念,强调了序列化在对象持久化和网络传输中的作用。通过实现Serializable接口,使对象可以被转换为字节序列并保存或在网络中传递。讨论了序列化过程中的注意事项,如transient关键字的使用,以及在单例类中的特殊处理。同时,建议在可序列化类中定义serialVersionUID以确保版本兼容。
摘要由CSDN通过智能技术生成

简述序列化

  • 序列化:将对象写入到IO流(ObjectOutputStream)=>将对象转换为字节序列化的过程。

  • 反序列化:从IO流中恢复对象(ObjectInputStream)=>把字节序列恢复为对象的过程。

  • 意义:序列化机制允许将实现序列化的java对象转换为字节序列。这些字节序列可以保存在磁盘上,或通过网络传输,以达到以后恢复成原来的对象。系列化机制使得对象可以脱离程序的运行而独立存在。

  • 使用场景:

    所有可在网络上传输的对象都必须是可序列化的,比如RMI(remote method invoke远程方法调用),传入的参数或返回的对象都是可序列化的,否则会出错。

    所有需要保存到磁盘的java对象都必须是可序列化的。通常建议:程序创建的每个javaBean类都实现Serializeable接口

  • Serializeable

    • 普通序列化

      Serializeable接口是一个标记接口,不用实现任何方法。一旦实现了此接口,该类的对象就是可序列化的。

    • 代码测试:

      //先弄一个类实现序列化
      public class PersonSerializable implements Serializable {
             
          private String name;
          private int age;
      
          public PersonSerializable(String name,int age){
             
              System.out.println("反序列化吗?"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值