利用序列化机制进行深拷贝:
A.将对象序列化到输出流再读回即可,且中间过程无需写入文件,只需使用ByteArrayOutputStream将数据存为字节数组.
*需要注意的是,这种克隆方法比显式地在clone方法中创建一个新的对象或克隆数据域要慢一些.
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
/**
* @version 把要通过序列化进行克隆的类继承该SerialCloneable
* @author yping061
*
*/
public class SerialCloneable implements Cloneable,Serializable
{
public Object clone()
{
try
{
//save the object to a byte array
ByteArrayOutputStream bout=new ByteArrayOutputStream();
ObjectOutputStream out=new ObjectOutputStream(bout);
out.writeObject(this);
out.close();
//read a clone of the object from the byte array
ByteArrayInputStream bin=new ByteArrayInputStream(bout.toByteArray());
ObjectInputStream in=new ObjectInputStream(bin);
Object result=in.readObject();
in.close();
return result;
}catch(Exception e)
{
return null;
}
}
}
分享到:
相关推荐
E043-服务漏洞利用及加固-利用Java序列化漏洞进行渗透测试
Java高级程序设计 第5章 Java序列化机制 5.1 应用场景 5.2 相关知识5.3 实施过程 5.4 拓展知识5.5 拓展训练 5.6 课后小结5.7 课后习题 5.8 上机实训 Java高级程序设计实战教程第五章-Java序列化机制全文共15页,当前...
克隆和序列化(Java )实例和源代码
Xson是一个Java对象序列化和反序列化程序。支持Java对象到字节数组的序列化,和从字节数组到Java对象的反序列化。 Maven: <groupId>com.github.xsonorg</groupId> <artifactId>xson-core <version>1.0.1 ...
java反序列化工具,覆盖jboss、weblogic、websphere。
学习Java序列化,里面包含一份PPT以及相应的源码演示
java序列化和反序列化java序列化和反序列化java序列化和反序列化
大家请看Java的序列化结构有不足的地方请指教也希望指出不足的地方。
java 对象的序列化与反序列化 java 对象的序列化与反序列化
序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例...虽然你可以用你自己的各种各样的方法来保 存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。
java 序列化详细解释 很详细 适用于高级软件开发者
Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个对象,什么时候需要序列化以及Java序列化的算法,我们用一个实例来示范序列化以后的字节是如何描述一个对象的信息的。……
在应用java进行c-s开发的时候,尤其涉及到图片和视频之间的传输时,需要用序列化和反序列化技术,希望对您有帮助
java序列化(Serializable)的作用和反序列化.doc 有详细的讲解哦。 在什么地方用的到都有说明的.
java反序列化利用程序UI版Beta1.1.a
java序列化代码示例,详细讲解序列化作用于使用注意规则项!!!
Java序列化机制(2)- serialVersionUID 实验 http://blog.csdn.net/suileisl/article/details/16991753
java反序列化利用程序UI版Beta1.1
将java数据 序列化成PHP的格式 a:4:{s:6:"title2";s:13:"这是标题2";s:6:"title3";s:13:"这是标题3";s:5:"title";s:13:"这是标题1";s:6:"title4";s:13:"这是标题4";} 或者a:1:{i:0;a:1:{s:4:"name";s:10:"这是1321";...