感悟网 导航

java中为什么要进行对象序列化 java中为什么要进行对象序列化?

作者&投稿:运孙 (若有异议请与网页底部的电邮联系)
java中为什么要进行对象序列化?~

序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。

序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。

对象的序列化就是为了数据传输,在你的代码的里是对象格式,而在传输的时候不可能还保持这对象的样子。
当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个java对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为java对象。
1.概念
序列化:把java对象转换为字节序列的过程。
反序列化:把字节序列恢复为java对象的过程。
2.用途
对象的序列化主要有两种用途:
1)
把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中;
2)
在网络上传送对象的字节序列。

序列化就是将一个对象的状态(各个属性量)保存起来,然后在适当的时候再获得。
  序列化分为两大部分:序列化和反序列化。序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例
  序列化的什么特点:
  如果某个类能够被序列化,其子类也可以被序列化。声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。
  什么时候使用序列化:
  一:对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。
  二:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。

《什么是对象序列化,为什么要使用》
答:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的“深复制”,即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。java序列化比较简单,通常不需要编写保存...

《java里为什么要序列化?》
答:此时对象会在不同主机上传播,序列化会将对象转成码流由对端进行解析,这个解析过程不需要人参与。普通字符串是经过解析后的对象,有对象到字符串要加入解析逻辑,人才能看懂。序列化的结果是个只有JAVA虚拟机认识的文件,人不参与,只是用于保存对象或传输。解决你的问题了么?

《什么是java的序列化和反序列化》
答:1、什么是序列化?为什么要序列化?Java 序列化就是指将对象转换为字节序列的过程,而反序列化则是只将字节序列转换成目标对象的过程。我们都知道,在进行浏览器访问的时候,我们看到的文本、图片、音频、视频等都是通过二进制序列进行传输的,那么如果我们需要将Java对象进行传输的时候,是不是也应该先将...

《什么是java序列化,如何实现java序列化?》
答:在java中只要一个类实现了Serializable接口的类就被认为是序列化的类,这种类的对象就是序列化的对象 只有被序列化的数据才允许被存储到文件、数据库之中或者通过网络协议进行传输,没有被序列化的数据是不能存储到硬盘上,不能通过网络协议进行网络传输 ...

《JAVA中,序列化是指的什么?有何用途?》
答:可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:File...

《java序列化的作用》
答:二:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节流中,可以保存在文件中或在网络连接上传递。利用对象序列化可以进行对象的"深复制",即复制对象本身及引用的对象本身。序列化一个对象可能得到整个对象序列。http://zhafn.blogchina.com/...

《什么是java的序列化?jdk如何实现java序列化》
答:1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。2.为什么需要序列化与反序列化 我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等, 而这些数据都会以二进制序列的形式在网络上...

《java对象的序列化是什么意思》
答:1、序列化是干什么的?简单说就是为了保存在内存中的各种对象的状态,并且可以把保存的对象状态再读出来。虽然你可以 用自己的各种方法来保存Object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制、那就是序列化。2、什么情况下需要序列化?a)当你想把的内存中的对象保存到一个文件...

《为什么java对象不能直接保存到磁盘上 一定要序列化,因为对象在内存中也...》
答:Java对象在内存中确实也是二进制的,但是直接将Java对象保存到磁盘上并不是一个可行的方法。这是因为在将对象保存到磁盘上的过程中,需要将对象的内存结构转换为一系列的二进制数据,并且需要考虑不同操作系统、不同JVM实现和不同版本之间的兼容性问题。这种方式非常复杂,且不具备跨平台和可移植性。

《java 序列化》
答:2、什么情况下需要序列化 a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候;b)当你想用套接字在网络上传送对象的时候;c)当你想通过RMI传输对象的时候; 下面再给个jdk宝典里的例子吧,这样你就应该知道怎么用了:package book.io;import java.io.FileInputStream;import java.io...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网