JAVA类的序列化

转载 2012年03月27日 16:40:04

1.serialVersionUID

serialVersionUID这个长整形的作用是保持对象序列化的兼容性。

例如:当A类的实例B被序列化到文件上去以后,A类突然增加了一个属性,这个时候进行反序列化,会出现类的类型不整合的错误;

如果A类定义了serializableUID的话,则反序列化可以成功,B对象可以从文件直接读到内存当中去。

2.序列化和反序列化过程

   序列化: ObjectOutputStream stream = new ObjectOutputStream(new FileOutputStream("fileName"));stream.writeObject(new Object());

   反序列化: ObjectInputStream stream = new ObjectInputStream(new FileInputStream("fileName"));ObjectA object = (ObjectA)stream.readObject();

3.xstream序列化JAVA类

XStream 有三个突出的特点:

  1. XStream 不关心序列化/逆序列化的类的字段的可见性。
  2. 序列化/逆序列化类的字段不需要 getter 和 setter 方法。
  3. 序列化/逆序列化的类不需要有默认构造函数。
  4. XStream 序列化的类不需要实现 Serializable 接口。 

序列化对象:

import com.thoughtworks.xstream.*;

XStream xs = new XStream(new DomDriver());

Object fs = new Object();

FileOutputStream fs = new FileOutputStream("c:/temp/employeedata.txt");

xs.toXML(e, fs);

 

发序列化对象

import com.thoughtworks.xstream.*;

XStream xs = new XStream(new DomDriver());

Object fs = null;

FileInputStream fis = new FileInputStream("c:/temp/employeedata.txt");

xs.fromXML(fis, e);

相关文章推荐

JAVA之旅(三十)——打印流PrintWriter,合并流,切割文件并且合并,对象的序列化Serializable,管道流,RandomAccessFile,IO其他类,字符编码

JAVA之旅(三十)——打印流PrintWriter,合并流,切割文件并且合并,对象的序列化Serializable,管道流,RandomAccessFile,IO其他类,字符编码 三十篇了,又是...

JAVA中对类进行序列化Serializable

serialVersionUID适用于Java的序列化机制。简单来说,Java的序列化机制是通过判断类的serialVersionUID来验证版本一致性的。在进行反序列化时,JVM会把传来的字节流中的...

java中类的序列化

一、序列化的含义是什么?              序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。            序列化分为两大部分:序列化和反序列化。 序列化...

使用JAXB 将java继承的类序列化xml

JAXB是将java实体类序列化和反序列化处理中比较方便的一个工具,在jaxb的使用中,若是实体类中存在继承的层次关系,那么就需要一些值得注意的地方了。 比如在开发百度轻应用时候就需要处理到: ...

Java中序列化Json的jar包

  • 2017年11月13日 14:54
  • 256KB
  • 下载

Java笔记(7)-输入、输出流、File类、InputStream、Reader、文件字节流、文件字符流、缓冲流、随机流、数据流、对象流、序列化和对象克隆、Scanner解析文件、Console流

Java笔记(7)-输入、输出流 字节流 字符流 文件字节流 文件字符流 缓冲流 随机流 数组流 数据流 对象流 序列化和对象克隆 文件锁 Scanner解析文件 Console就读取密码 Inp...

java对象的序列化

  • 2013年07月29日 16:38
  • 59B
  • 下载

java中实体类序列化的意义

一、序列化的意义 客户端访问了某个能开启会话功能的资源, web服务器就会创建一个与该客户端对应的HttpSession对象,每个HttpSession对象都要站用一定的内存空间。如果在某一时间...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JAVA类的序列化
举报原因:
原因补充:

(最多只允许输入30个字)