java执行序列化和反序列化操作实现对象的clone
2011-09-17 16:13
941 查看
本文来自《Thinking in java 3th》
class Thing2 implements Serializable {
}
Thing2[] a = new Thing2[25000];
for (int i = 0; i < a.length; i++)
a[i] = new Thing2();
ByteArrayOutputStream buf = new ByteArrayOutputStream();
ObjectOutputStream o = new ObjectOutputStream(buf);
for (int i = 0; i < a.length; i++)
o.writeObject(a[i]);
// Now get copies:
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(
buf.toByteArray()));
Thing2[] c = new Thing2[25000];
for (int i = 0; i < c.length; i++)
c[i]
= (Thing2) in.readObject();
用序列化和反序列化操作实现的clone比clone慢很多。
class Thing2 implements Serializable {
}
Thing2[] a = new Thing2[25000];
for (int i = 0; i < a.length; i++)
a[i] = new Thing2();
ByteArrayOutputStream buf = new ByteArrayOutputStream();
ObjectOutputStream o = new ObjectOutputStream(buf);
for (int i = 0; i < a.length; i++)
o.writeObject(a[i]);
// Now get copies:
ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(
buf.toByteArray()));
Thing2[] c = new Thing2[25000];
for (int i = 0; i < c.length; i++)
c[i]
= (Thing2) in.readObject();
用序列化和反序列化操作实现的clone比clone慢很多。
相关文章推荐
- java使用serializable进行序列化与反序列化实现对象clone(克隆)
- java序列化和反序列化对象到mysql 的实现
- 今天无意中发现JavaBean类基本都要求实现了Serializable接口,以前只是知道序列化以后,可以通过io流的方式将对象序列化和反序列化,进行存取,但不知道为什么需要序列化,今天总结一下
- Java 基础数据类型 和 深度克隆对象的2种方法(实现Cloneable接口或者实现对象序列化)
- 【Java】IO操作之对象序列化及反序列化
- java 使用xom对象数据序列化为xml、反序列化、Preferences相关操作小案例
- Windows CE /SmartDeviceProject 操作Json数据实现对象序列化和反序列化
- java 的对象拷贝(有深浅拷贝两种方式,深拷贝实现的两种方式(逐层实现cloneable接口,序列化的方式来实现))
- Java基础(15):IO流—掌握对象序列化和反序列化操作
- Android 对象序列化 Java中实现Serializable序列化与Android特有的实现Parceable接口序列化操作
- Java深拷贝除了通过实现Cloneable接口,另外还可以通过序列化实现对象的拷贝。
- Java学习笔记——IO操作之对象序列化及反序列化
- java对象序列化和反序列化操作记录
- Java利用序列化实现对象深度clone的方法
- Java中List或者HashMap对象-序列化和反序列化并附读写文件操作
- Java对象的序列化和反序列化及其实现和使用
- java中对象序列化的读写操作
- Java对象的序列化和反序列化实践
- Java基础学习总结——Java对象的序列化和反序列化
- Java对象的序列化和反序列化实践