深入理解Java的序列化和反序列化机制——Serializable
来源:互联网 发布:javascript 堆栈 编辑:程序博客网 时间:2024/05/16 19:14
在网络通信(Socket)或远程过程调用(RPC(RMI))中,我们通常都会发送和接收一个对象,比如
ObjectOutputStream oos = new ObjectOutputStream(out);
oos.writeObject(obj);
……
ObjectInputStream ois = new ObjectInputStream(in);
Object obj = ois.readObject();
当一个对象实现了Serializable接口后,意味着这个对象是可以序列化的,当然这个操作对用户来说是透明的,为什么呢?因为用户不用关心JVM到底都做了什么呢?用户只关心将这个对象声明成可序列化的就行了。那么到底什么是JAVA序列化和反序列化呢?
1.什么是学序列化(反序列化)?
序列化:将一个对象以字节的方式来描述(存储)。
反序列化:将字节转换(翻译)成一个对象。
2.JVM是如何实现序列化(对象和字节的转换)的?
◆将对象实例相关的类元数据输出。
◆递归地输出类的超类描述直到不再有超类。
◆类元数据完了以后,开始从最顶层的超类开始输出对象实例的实际数据值。
◆从上至下递归输出实例的数据
具体实现细节可以参考Core Java书籍
3.哪些对象是不可(不需要)序列化的?
(1).静态成员是不可序列化的
(2).被transient修饰的对象时不可序列化的,或者说你在设计的时候发现,如果这个对象不需要序列化,你可以把它声明成transient
- 深入理解Java的序列化和反序列化机制——Serializable
- java序列化(Serializable)的作用和反序列化
- java序列化(Serializable)的作用和反序列化
- java序列化(Serializable)的作用和反序列化
- java序列化(Serializable)的作用和反序列化
- java序列化(Serializable)的作用和反序列化
- java序列化(Serializable)的作用和反序列化
- java序列化(Serializable)的作用和反序列化
- java序列化(Serializable)的作用和反序列化
- java序列化(Serializable)的作用和反序列化
- java序列化(Serializable)的作用和反序列化
- Java对象的序列化和反序列化Serializable
- java序列化(Serializable)的作用和反序列化
- java Serializable 序列化 反序列化
- java Serializable和Externalizable序列化反序列化详解
- java Serializable和Externalizable序列化反序列化详解
- java中的序列化(Serializable)和反序列化
- java Serializable和Externalizable序列化反序列化详解
- 求开发帮助?关于移动应用-------最新悬赏任务列表!
- windows 图形相关函数
- java操作生成jar包 和写入jar包
- 模块参数module_param
- Linux字符设备驱动
- 深入理解Java的序列化和反序列化机制——Serializable
- 初学Java,IO之使用转换流,读取键盘输入(四十三)
- 表达式
- JS中eval工作原理和json格式(eval+json两者结合应用)2011-07-05 22:39--本文讲解一下javascript中eval与json的应用问题。
- Learning dense Models of Query Similarity from User Click Logs
- listView中为什么使用setlistAdapter
- 计算任何一天是星期几的几种算法
- eclipse配置PyDev后console无内容显示
- ZOJ 2853 矩阵乘法