- 8
- 0
- 约9.63千字
- 约 28页
- 2017-06-11 发布于北京
- 举报
土豆网 文章来源: * 深入理解Java对象 序列化 关于Java序列化的文章早已是汗牛充栋了,本文是对我个人过往学习,理解及应用Java序列化的一个总结。此文内容涉及Java序列化的基本原理,以及多种方法对序列化形式进行定制。在撰写本文时,既参考了Thinking in Java, Effective Java,JavaWorld,developerWorks中的相关文章和其它网络资料,也加入了自己的实践经验与理解,文、码并茂,希望对大家有所帮助。(持续更新中,2012.02.13最后更新) 1. 什么是Java对象序列化 Java平台允许我们在内存中创建可复用的Java对象,但一般情况下,只有当JVM处于运行时,这些对象才可能存在,即,这些对象的生命周期不会比JVM的生命周期更长。但在现实应用中,就可能要求在JVM停止运行之后能够保存 (持久化)指定的对象,并在将来重新读取被保存的对象。Java对象序列化就能够帮助我们实现该功能。 使用Java对象序列化,在保存对象时,会把其状态保存为一组字节,在未来,再将这些字节组装成对象。必须注意地是,对象序列化保存的是对象的状态,即它的成员变量。由此可知,对象序列化不会关注类中的静态变量。 除了在持久化对象时会用到对象序列化之外,当使用RMI(远程方法调用),或在网络中传递对象时,都会用到对象序列化。Java序列化API为处理对象序列化提供了一个标准机制,该API简单易用,在本文的后续章节中将会陆续讲到。 2. 简单示例 在Java中,只要一个类实现了java.io.Serializable接口,那么它就可以被序列化。此处将创建一个可序列化的类Person,本文中的所有示例将围绕着该类或其修改版。 Gen der类,是一个枚举类型,表示性别 public enum Gender { MALE, FEMALE } 如果熟悉Java枚举类型的话,应该知道每个枚举类型都会默认继承类java.lang.Enum,而该类实现了Serializable接口,所以枚举类型对象都是默认可以被序列化的。 Person类,实现了Serializable接口,它包含三个字段:name,String类型;age,Integer类型;gender,Gender类型。另外,还重写该类的toString()方法,以方便打印Person实例中的内容。 public class Person implements Serializable { private String name = null; private Integer age = null; private Gender gender = null; public Person() { System.out.println(none-arg constructor); } public Person(String name, Integer age, Gender gender) { System.out.println(arg constructor); = name; this.age = age; this.gender = gender; } public String getName() { return name; } public void setName(String name) { = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Gender getGender() { return gender; } public void setGender(Gender gender) { this.gender = gender; } @Override public String toString() { return [ + name + , + age + , + gender + ]; } } SimpleSerial,是一个简单的序列化程序,它先将一个Person对象保存到文件person.out中,然后再从该文件中读出被存储的Person对象,并打印该对象。 public cl ass SimpleSerial { public static void main(String[] args) throws Exception { File file = new File(person.out); ObjectOutputStream oout = new ObjectOutputStre
您可能关注的文档
最近下载
- 民法总论课件.ppt VIP
- 低空经济与低空旅游建设方案.pdf VIP
- 《DLT 2934—2025垃圾发电厂飞灰低温处理技术规范》专题研究报告.pptx VIP
- 大气TSP、PM10监测.ppt VIP
- 公用工程车间调试车总结110116.doc VIP
- 畜牧微生物学教学课件电子教案全套课件.pptx VIP
- 2025年移动图书馆第三届知识竞答挑战赛题库及答案(第五关).docx VIP
- 2026年党支部班子在对照加强理论武装、做好群众工作、执行上级组织决定、严格组织生活等“6个对照方面”检查材料2份稿.docx VIP
- 降低患者胃肠减压管非计划拔管率品管圈.pdf
- 业绩完成情况专项审计报告.docx VIP
原创力文档

文档评论(0)