序列化:Serializable、Externalizable、Parcelable
来源:互联网 发布:淘宝信用贷款怎么审查 编辑:程序博客网 时间:2024/05/16 18:46
1、
public interface Serializable {
}
实现Serializable的类,可以实现(参考java api):
private void writeObject(java.io.ObjectOutputStream out) throws IOException
private void readObject(java.io.ObjectInputStream in) throws IOException, ClassNotFoundException;
private void readObjectNoData() throws ObjectStreamException;
=>TODO:具体实现原理使用了反射机制
2、
public interface Externalizable extends java.io.Serializable {
void writeExternal(ObjectOutput out) throws IOException;
void readExternal(ObjectInput in) throws IOException, ClassNotFoundException;
}
3、
public interface Parcelable {
......
public int describeContents();
public void writeToParcel(Parcel dest, int flags);
public interface Creator<T> {
public T createFromParcel(Parcel source);
public T[] newArray(int size);
}
public interface ClassLoaderCreator<T> extends Creator<T> {
public T createFromParcel(Parcel source, ClassLoader loader);
}
}
Java的Serializable的作用,为了保存对象的属性到本地文件、数据库、网络流、rmi以方便数据传输,当然这种传输可以是程序内的也可以是两个程序间的;
Android的Parcelable,设计初衷是因为Serializable效率过慢,为了在程序内不同组件间以及不同Android程序间(AIDL)高效的传输数据而设计,仅在内存中存在;
Parcelable是通过IBinder通信的消息的载体;
android不同版本Parcelable可能不同,所以不推荐使用Parcelable进行数据持久化;
=》TODO:原理
参考:
http://www.cnblogs.com/xdp-gacl/p/3777987.html
http://www.cnblogs.com/rollenholt/archive/2012/11/26/2789445.html
http://developer.51cto.com/art/201202/317181.htm
http://bluepopopo.iteye.com/blog/486548
http://www.cnblogs.com/trinea/archive/2012/11/09/2763213.html
http://www.2cto.com/kf/201403/288476.html
http://longdick.iteye.com/blog/458557
- 序列化:Serializable、Externalizable、Parcelable
- Serializable、Externalizable、Parcelable实现
- 序列化:Serializable和Externalizable
- 序列化接口:Serializable/Externalizable
- 序列化Serializable和Externalizable
- 序列化:Parcelable、Serializable
- 序列化 Serializable Parcelable
- 序列化Parcelable/Serializable
- 序列化Serializable、Parcelable
- 序列化--Serializable接口和Externalizable接口
- 对象的序列化 Externalizable Serializable
- Java序列化的作用(Serializable/Externalizable)
- Java序列化Serializable和Externalizable
- Java序列化Serializable和Externalizable
- java序列化之Serializable和Externalizable
- Java序列化Serializable和Externalizable
- Android-序列化,Parcelable,Serializable
- Android Serializable Parcelable 序列化
- mongoDB的读书笔记(via3.0)(00)_【概览】(01)_mongoDB3.0的一些变化
- 1、MySQL-服务打开
- java中文乱码解决之道(三)—–编码详情:伟大的创想—Unicode编码
- Android setContentView()解读
- Hadoop平台搭建使用系列教程(7)- SSH无密码验证
- 序列化:Serializable、Externalizable、Parcelable
- Eclipse快捷键
- CentOS 的用户、组权限、添加删除用户等操作的详细操作命令
- 使用ReactiveCocoa实现iOS平台响应式编程
- MySQL error log 输出到syslog
- 2、MySQL-登录与退出
- HDOJ-3974(线段树,区间修改点查询)
- ExecutorService线程池
- 3、MySQL-创建数据库