`

序列化 Serialization

 
阅读更多

利用序列化实现深度克隆

  把对象写到流里的过程是序列化(Serialization)过程;而把对象从流中读出来的过程则叫反序列化(Deserialization)过程。应当指出的是,写到流里的是对象的一个拷贝,而原对象仍然存在于JVM里面。

  在Java语言里深度克隆一个对象,常常可以先使对象实现Serializable接口,然后把对象(实际上只是对象的拷贝)写到一个流里(序列化),再从流里读回来(反序列化),便可以重建对象。

  1. public  Object deepClone() throws IOException, ClassNotFoundException{  
  2.         //将对象写到流里  
  3.         ByteArrayOutputStream bos = new ByteArrayOutputStream();  
  4.         ObjectOutputStream oos = new ObjectOutputStream(bos);  
  5.         oos.writeObject(this);  
  6.         //从流里读回来  
  7.         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());  
  8.         ObjectInputStream ois = new ObjectInputStream(bis);  
  9.         return ois.readObject();  
  10.     }  
分享到:
评论

相关推荐

    序列化和反序列化 Serialization

    数据的序列化和反序列化 Serialization DeSerialization

    C#对象序列化与反序列化

    二进制序列化:对象序列化之后是二进制形式的,通过BinaryFormatter类来实现的,这个类位于System.Runtime.Serialization.Formatters.Binary命名空间下。 SOAP序列化:对象序列化之后的结果符合SOAP协议,也就是可以...

    探讨和比较Java和.NET的序列化(Serialization)框架

    探讨和比较Java和.NET的序列化(Serialization)框架

    C++11 下使用 Boost.Serialization 库实现智能指针的序列化

    C++11 下使用 Boost.Serialization 库实现智能指针的序列化

    akka-kryo-serialization, 基于Kryo的Akka序列化.zip

    akka-kryo-serialization, 基于Kryo的Akka序列化 akka-kryo-serialization-- Scala 和Akka基于kryo的序列化程序这个库为 Scala 和Akka提供定制的基于kryo的序列化程序。 它可以用于更高效的akka远程处理。它还可以...

    序列化(Serialization)

    NULL 博文链接:https://mindfocus.iteye.com/blog/938415

    对象序列化:使用System.Xml.Serialization命名空间

    要使用.NET进行对象的序列化,必须在解决方案中添加System.Xml的引用,并且在类文件中引入System.Xml.Serialization命名空间。这样就可以在文件中使用序列化所需要的各种特性了。 Imports System.Xml....

    delphi 序列化

    序列化 (serialization):将对象的状态信息转换为可以存储或传输的形式的过程。 与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。 序列化的目的  1、以某种存储形式使...

    java-Hadoop序列化

     序列化(Serialization)是指把结构化对象转化为字节流。  反序列化(Deserialization)是序列化的逆过程。即把字节流转回结构化对象。  Java序列化(java.io.Serializable)  Hadoop序列化的特点  ...

    序列化与反序列化.zip

    文档编写了序列化与反序列化的类,并附带了对应的XML文件,包括一个窗口按钮的触发演示,供...   1.XmlSerialization:执行序列化和反序列化的类    2.serializeXML:需要序列化的对象格式,决定了生成XML格式的。

    Java序列化(Serialization) 机制

    本篇文章是对Java中对象的序列化(Serialization) 机制进行了详细的分析介绍,并附实例,需要的朋友可以参考下

    详解Java 序列化与反序列化(Serialization)

    主要介绍了Java 序列化与反序列化(Serialization),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    TreeView的序列化

    树形结构TreeView的序列化,使用system.runtime.serialization.formatters.binary;

    Java序列化的机制和原理

    Serialization(序列化)是一种将对象以一连串的字节描述的过程;反序列化deserialization是一种将这些字节重建成一个对象的过程。Java序列化API提供一种处理对象序列化的标准机制。在这里你能学到如何序列化一个...

    XML序列化之System.Xml.Serialization demo

    XML序列化之System.Xml.Serialization demo

    序列化(Serialization)实现深拷贝.md

    深拷贝:指的是拷贝一个对象时,不仅仅把对象的引用进行复制,还把该对象引用的值也一起拷贝。如果引用类型里面还包含很多引用类型,或者内层引用类型的类里面又包含多层...这时我们可以用序列化来实现对象的深拷贝。

    kotlinx.serialization,Kotlin跨平台/多格式序列化.zip

    kotlin序列化包括一个编译器插件,它自动为类生成访问者代码,以及运行库,它使用生成的代码来序列化对象而不需要反射。

    Java_serialization_doc.rar_Serializable _doc_序列化

    Java中对象的序列化(serialization)允许把采用Serializable接口的任何对象转换成字节流序列;同时它也允许把字节流序列转换回对象本身。其机制不依赖于操作系统,也就是说,你可以通过网络传递该对象,并在网络...

Global site tag (gtag.js) - Google Analytics