可序列化的接口的作用有哪些

介绍

小编给大家分享一下可序列化的接口的作用有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!

序列化接口的作用:1、存储对象在存储介质中,以便在下次使用的时候,可以很快捷的重建一个副本;2、便于数据传输,尤其是在远程调用的时候。

<强>序列化接口的作用:

<强>序列化接口是启用其序列化功能的接口。实现. io .可序列化的接口的类是可序列化的。没有实现此接口的类将不能使它们的任意状态被序列化或逆序列化。

个人理解:

这个介绍非常的不接地气,于是我与去看了几篇博客,有一个小姐姐的博客引起了我的注意,她是这样理解的:

序列化的过程,就是一个“冻结”的过程,它将一个对象冻结(冷冻)住,然后进行存储,等到再次需要的时候,再将这个对象de-freeze就可以立即使用。

我们以为的没有进行序列化,其实是在声明的各个不同变量的时候,由具体的数据类型帮助我们实现了序列化操作。

如果有人打开过可序列化的接口的源码,就会发现,这个接口其实是个空接口,那么这个序列化操作,到底是由谁去实现了呢?其实,看一下接口的注释说明就知道,当我们让实体类实现可序列化的接口时,其实是在告诉JVM此类可被序列化,可被默认的序列化机制序列化。

序列化的作用:

*序列化是将对象状态转换为可保持或传输的格式的过程。与序列化相对的是反序列化,它将流转换为对象。这两个过程结合起来,可以轻松地存储和传输数据。

<强> 1,存储对象在存储介质中,以便在下次使用的时候,可以很快捷的重建一个副本。强也就由此产生的一系列位时是重读根据序列化格式,它可以被用来创建一个原始对象的语义相同的克隆。

问题:我没有实现序列化的时候,我一样可以存入到我的或状态"置疑"者MySQL,甲骨文数据库中啊,为什么一定要序列化才能存储呢? ? ? ?

<强> 2,便于数据传输,尤其是在远程调用的时候

实现. io .序列化这个接口是为序列化,serialVersionUID用来表明实现序列化类的不同版本间的兼容性。如果你修改了此类,要修改此值。

否则以前用老版本的类序列化的类恢复时会出错。

实现后如果你用的是工具的话会出来警告,他会提示你,可以自动生成私有静态最终长serialVersionUID l=1;为了在反序列化时,确保类版本的兼容性,最好在每个要序列化的类中加入私人静态最终长serialVersionUID这个属性,具体数值自己定义。

关于serialVersionUID的解释

serialVersionUID作用:序列化时为了保持版本的兼容性,即在版本升级时反序列化仍保持对象的唯一性。

你可以随便写一个,在Eclipse中它替你生成一个,有两种生成方式:一个是默认的1 l,比如:

private  static  final  long  serialVersionUID =, 1 l;

一个是根据类名,接口名,成员方法及属性等来生成一个64位的哈希字段,比如:

private  static  final  long  serialVersionUID =, -8940196742313994740 l;

以上是“可序列化的接口的作用有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

可序列化的接口的作用有哪些