首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

java 序列化学习札记

2012-10-09 
java 序列化学习笔记什么是序列化?它是JAVA为了将对象写入到文件中产生的机制,也就是只有在对象数据流中才

java 序列化学习笔记

什么是序列化?

它是JAVA为了将对象写入到文件中产生的机制,也就是只有在对象数据流中才能用到,目的就是为了从文件中读取或者记录对象。

?

序列化就是将对象写入到“硬盘”中,该对象必须继承Serializable接口(不用实现任何方法),这个接口仅仅起到标记的作用
eg: public class Person implements Serializable{}


静态属性是不能被序列化的,因为它在“堆”中

“transient”修饰之后可以指定某些属性不被序列化
eg: transient int age;

?

序列化之后的文件名命名规则:对象名称.object;因为这个文件不是用来给用户看的,打开了里面全部是乱码,但是我们应该从文件名中可以看出这个文件是存储的什么东西,作用是什么,所以文件名尤为重要

读写对象的方法示例

ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("c:\\Person.object"));oos.writeObject(new Person(20,"huangbiao"));oos.close();ObjectInputStream ois = new ObjectInputStream(new FileInputStream("c:\\Person.object"));Person person = (Person)ois.readObject();

?

序列号是由属性、方法计算出来的,如果属性或者是方法改变,则序列号也变了,如果读对象要捕捉找不到类的异常,当然也可以指定对象的序列号,就能找到对象
eg: public static final long serializableUID = 42L;

热点排行