zoukankan      html  css  js  c++  java
  • 实现对象的序列化

    乐于分享,以下文章由小编分享给大家;
      一个对象产生后实际上是在内存中为其开辟了一个存储空间,方便存储信息。对象序列化就是把一个对象变为二进制的数据流的一种方式,并通过对象序列化实现对象的传输或存储。一个对象想被序列化则对象所在类必须实现java.io.Serializable接口:

      import java.io.Serialzable;public class Student implements Serializable{private int id;//声明id属性private String name;//声明name属性pulbic Student(int id,String name){//通过构造方法设置属性内容this.id = id;this.name = name;}

      public String toString(){//重写toString()方法return “学号: ”+this.id+”姓名: “+this.name;}

      }

      以后此类对象就可以被序列化了。

      要想完成对象的输入或输出,还必须依靠对象输出流(ObjectOutputStream)和对象输入流(ObjectInputStream)。使用对象输出流序列化对象有时也称为序列化。使用对象输入流读入对象的过程有时也称为反序列化。

      在对象进行序列化或反序列化操作时,要考虑JDK版本的问题,如果序列化的JDK版本和反序列化的JDK版本不统一则就有可能造成异常。所以在序列化操作中引入了一个serialVersionUID的常量,可以通过此常量来验证版本的一致性,在进行反序列化时JVM会把传来的字节流中的serialVersionUID与本地相应实体类的serialVersionUID进行比较,如果相同就认为是一致的,可以进行反序列化,否则就会出现序列化版本不一致的异常。

      对象序列化的作用,比不一定都向文件中保存,也有可能面向于其他的输入输出。被序列化对象的类必须实现Serializable接口,如果某个属性不希望被保存下来,则使用transient关键字声明。
    我们在通过不间断地学习,才能获取真正的知识,从来不满足现在所拥有的知识,不断进取是根本,在编程的世界里也是这样,我喜欢获得新的知识,为获得新的知识兴奋,希望你也是一样,学无止境!!!
    (责任编辑:广州达内

    广州达内,www.gztarena.com www.gdtarena.com www.s-tarena.com
  • 相关阅读:
    手把手教你利用create-nuxt-app脚手架创建NuxtJS应用
    初识NuxtJS
    webpack打包Vue应用程序流程
    用选择器代替表格列的筛选功能
    Element-UI
    Spectral Bounds for Sparse PCA: Exact and Greedy Algorithms[贪婪算法选特征]
    Sparse Principal Component Analysis via Rotation and Truncation
    Generalized Power Method for Sparse Principal Component Analysis
    Sparse Principal Component Analysis via Regularized Low Rank Matrix Approximation(Adjusted Variance)
    Truncated Power Method for Sparse Eigenvalue Problems
  • 原文地址:https://www.cnblogs.com/javaitpx/p/2995026.html
Copyright © 2011-2022 走看看