Java 序列化简单理解,serializable与externalizable区别?



基础概念详见《 Android Serializable与Parcelable原理与区别》


Externalizable 与Parcelable 区别?
     前者存储在物理介质,主要用于IO操作
     后者存储在内存,进程间通信使用

JAVA 对象序列化(二)——Externalizable

Serializable原理: 反射、递归

** 两者例子
**  serialVersionUID 
  生成分类
  什么时候需要修改,修改字段与方法

使用class通过反射不行吗?
不能满足需求,因为通过反射等于是创建重新创建新的对象,而不是自己希望保存的对象及其数据。


《Java序列化算法透析》
这篇文章中实现一个简单的Serializable例子,查看序列化生成的IO文件,并且以16进制读取并一一解释每一个16进制数字的含义。


资料:
JAVA 对象序列化(一)——Serializable
http://www.cnblogs.com/chenfei0801/archive/2013/04/05/3001149.html
理解Java对象序列化
http://www.blogjava.net/jiangshachina/archive/2012/02/13/369898.html
Java深度历险(十)——Java对象序列化与RMI
http://www.infoq.com/cn/articles/cf-java-object-serialization-rmi
Java对象序列化
http://www.cnblogs.com/xudong-bupt/archive/2013/05/19/3086493.html
对象的序列化和反序列化
http://www.blogjava.net/amigoxie/archive/2007/09/16/145465.html
Java 序列化的高级认识
https://www.ibm.com/developerworks/cn/java/j-lo-serial/
关于 Java 对象序列化您不知道的 5 件事
http://www.ibm.com/developerworks/cn/java/j-5things1/


更多问题:
1) Serializable 和 Externalizable 接口有何不同?
2) Serializable 接口有几个方法? 如果没有方法,那么为什么会有这样的接口?
3) serialVersionUID 有何用途? 如果没定义会有什么问题?
4) 如果你不希望某些成员被序列化,应该怎么做?
5) 序列化某个对象时,如果某个成员没有实现 Serializable 会怎样?
6) 如果某个类实现了 Serializable ,但父类没实现,那么当执行反序列化的时候,对象状态是怎样的?
7) 能否自定义序列化的过程?
8) 如果超类实现了 Serializable,那么之类如何避免被序列化?
9) Java 在进行对象序列化和反序列化的时候,用到了哪个方法?
10) 如果你已经将某个类的实例序列化到磁盘,这时候再往这个类添加新的属性,那么反序列化该对象的时候会发生什么?
11) 什么是 Java 序列化机制中的兼容和不兼容的变化?
12) 能否通过网络来传输序列化对象?
13) 什么类型的变量不会被序列化?

答案:
http://javarevisited.blogspot.com/2011/04/top-10-java-serialization-interview.html

2014-12-31 删除与 Android Serializable与Parcelable原理与区别 重复内容



你可能感兴趣的:(待整理)