什么是java序列化,如何实现java序列化?

如题所述

在java中只要一个类实现了Serializable接口的类就被认为是序列化的类,这种类的对象就是序列化的对象
只有被序列化的数据才允许被存储到文件、数据库之中或者通过网络协议进行传输,没有被序列化的数据是不能存储到硬盘上,不能通过网络协议进行网络传输
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-10-12

序  列 化:  指把堆内存中的Java对象数据,通过某种方式把对象存储到磁盘文件中或者传递给其他网络的节点(在网络上传输).我们把这个过程称之为序列化.

反序列化:把磁盘文件中的对象数据或者把网络节点上的对象数据,恢复成Java对象的过程.

为什么要做序列化:

1):在分布式系统中,需要共享的数据的JavaBean对象,都得做序列化,此时需要把对象再网络上传输,此时就得把对象数据转换为二进制形式.以后存储在HttpSession中的对象,都应该实现序列化接口(只有实现序列化接口的类,才能做序列化操作).

2):服务钝化:如果服务发现某些对象好久都没有活动了,此时服务器就会把这些内存中的对象,持久化在本地磁盘文件中(Java对象-->二进制文件).如果某些对象需要活动的时候,现在内存中去寻找,找到就使用,找不到再去磁盘文件中,反序列化我们得对象数据,恢复成Java对象.

需要做序列化的对象的类,必须实现序列化接口:java.io.Serializable接口(标志接口[没有抽象方法]).

底层会判断,如果当前对象是Serializable的实例,才允许做序列化.    boolean   ret = Java对象  instanceof  Serializable;

在Java中大多数类都已经实现Serializable接口.


本回答被网友采纳
第2个回答  2021-03-17
将java对象状态以字节流的形式保存或者读取,叫做序列化与反序列化。

实现序列化必须将要保存的类实现Serializable接口,然后调用OutputStream的writeObject方法实现序列化。

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

什么是java序列化?如何实现java序列化?Serializable接口的作用是什么...
【答案】:我们有时候将一个java对象变成字节流的形式传出去或者从一个字节流中恢复成一个java对象,例如,要将java对象存储到硬盘或者传送给网络上的其他计算机,这个过程我们可以自己写代码去把一个java对象变成某个格式的字节流再传输,但是,jre本身就提供了这种支持,我们可以调用OutputStream的writeObject...

什么是序列化,在java中如何实现序列化。
序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。序列化是为了解决在对对象流进行读写操作时所引发的问题。序列化的实现:将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements ...

什么是java的序列化?jdk如何实现java序列化
ObjectOutputStream采用默认的序列化方式,对Student对象的非transient的实例变量进行序列化。ObjcetInputStream采用默认的反序列化方式,对对Student对象的非transient的实例变量进行反序列化。方法二:若Student类仅仅实现了Serializable接口,并且还定义了readObject(ObjectInputStream in)和writeObject(ObjectOutputSte...

java中什么是序列化,怎么通俗理解序列化和反序列化?
在 Java 中,序列化是指将一个 Java 对象转换为可以存储或传输的格式的过程。这个过程通常用于持久化对象,即将对象的状态保存到文件或数据库中,或在网络上传输对象。序列化的一个关键目的是使对象能够在不同平台、不同版本的 Java 虚拟机之间进行交换或存储,而不会丢失对象的任何状态信息。反序列化...

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

在java中什么叫序列化和反序列化?
在Java中,序列化指的是将对象的状态信息转换为字节流的过程,这些字节流可以存储到文件或数据库中,或者通过网络传输到其他机器上。反序列化则是将字节流重新转换为对象的过程。简单来说,序列化使得对象可以跨平台、跨时间地持久保存或传输。详细解释 1. 序列化:当一个对象需要被存储到硬盘上,或者...

java中如何实现序列化,有什么意义
java 中实现序列化,只要实现Serializbale这个接口,那么这个类就能序列化了。序列化就是把对象转化为二进制编码,有两个作用1.用于网络传输。2.可以存储到硬盘中,用来保存。类对象都是在内存中的,当系统关闭后对象就没了,下次启动时重新生成对象,不能保存当时状态。有序列化,就有反序列化,反序列...

java序列化的作用
序列化即是将一个对象的状态即各个属性量保存起来,然后在适当的时候再获得。对象序列化可以实现分布式对象。主要应用例如:RMI要利用对象序列化运行远程主机上的服务,像在本地机上运行对象时一样。java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据。可以将整个对象层次写入字节...

什么是java序列化
Java的串行化机制是RMI、EJB等技术的技术基础。用途:利用对象的串行化实现保存应用程序的当前工作状态,下次再启动的时候将自动地恢复到上次执行的状态。序列化就是一种用来处理对象流的机制,所谓对象流也就是将对象的内容进行流化。可以对流化后的对象进行读写操作,也可将流化后的对象传输于网络之间。

相似回答