javabean为什么要实现序列化?

所谓的Serializable,就是java提供的通用数据保存和读取的接口。至于从什么地方读出来和保存到哪里
去都被隐藏在函数参数的背后了。这样子,任何类型只要实现了Serializable接口,就可以被保存到文件中,或者作为数据流通过网络发送
到别的地方。也可以用管道来传输到系统的其他程序中。这样子极大的简化了类的设计。只要设计一个保存一个读取功能就能解决上面说得
所有问题。

java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成一组byte,这样日后要用这个对象时候,你就能把这些byte数
据恢复出来,并据此重新构建那个对象了。

工作流当中流程变量的几种数据类型:string integer short long double boolean date binary serializable,这就是为什么要将
javabean实现序列化的原因,因为你将对象设置到流程变量中必须要实现序列化,否则会在设置流程变量的时候报错找不到该类型

java对象序列化机制就是把内存中的Java对象(User之类的JavaBean)转换成二进制流。java对象序列化后可以很方便的存储或者在网络
中传输。Java的序列化机制是通过运行时判断类的序列化ID(serialVersionUID)来判定版本的一致性。在反序列化时,java虚拟机会通过二
进制流中的serialVersionUID与本地的对应的实体类进行比较,如果相同就认为是一致的,可以进行反序列化,正确获得信息,否则抛出序列
化版本不一致的异常。所以涉及到数据传输或者存储的类,严格意义上来说都要加上序列化ID,这也是一种良好的编程习惯。

时间: 2024-08-05 00:11:34

javabean为什么要实现序列化?的相关文章

spring持久类po或者javabean为什么常常实现序列化?

无论用hibernate或者mybatis结合spring做开发还是其他,系统里持久类往往要实现序列化, implements Serializable.我还是比较好奇,为什么要这样做呢?一直只知道个大概,学习hibernate和mybatis时,一些书中有几个字的介绍,有的书中举得例子或者和spring整合时举得例子也没实现序列化,有时可能在你项目上,如果不是实现serializable接口,可能系统也会正常不会出现错误. 终于有这个时间自己查查这个原因了,翻翻书,看看网页,针对这个问题资料还

JAVABEAN必须继承序列化借口的作用

这里有人家对序列化的测试 http://www.javaeye.com/topic/350137 Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成一组byte,这样日后要用这个对象时候,你就能把这些byte数据恢复出来,并据此重新构建那个对象了.这一点甚至在跨网络的环境下也是如此,这就意味着序列化机制能自动补偿操作系统方面的差异.也就是说,你可以在Windows机器上创键一个对象,序列化之后,再通过网络传到Unix机器上,然后在那里进行重建.你不用担心

深入理解JAVA I/O系列五:对象序列化

序列化 对象序列化的目标是将对象保存到磁盘中,或者允许在网络中直接传输对象.对象序列化机制允许把内存中的JAVA对象转换成跟平台无关的二进制流,从而允许将这种二进制流持久地保存在磁盘上,通过网络将这种二进制流传输到另一个网络节点,其他程序一旦获得了这种二进制流,都可以讲二进制流恢复成原来的JAVA对象. 序列化为何存在 我们知道当虚拟机停止运行之后,内存中的对象就会消失:另外一种情况就是JAVA对象要在网络中传输,如RMI过程中的参数和返回值.这两种情况都必须要将对象转换成字节流,而从用于保存到

[Think In Java]基础拾遗3 - 容器、I/O、NIO、序列化

目录 第十一章 持有对象第十七章 容器深入研究第十八章 Java I/O系统 第十一章 持有对象 1. java容器概览 java容器的两种主要类型(它们之间的主要区别在于容器中每个“槽”保存的元素个数):Collection和Map. (1)Collection是一个独立元素的序列,这些元素都服从一条或者多条规则.Collection概括了序列的概念——一种存放一组对象的方式. List:按照插入的顺序保存元素(ArrayList,LinkedList) Set:不能有重复元素(HashSet

java序列化/反序列化之xml、protobuf、protostuff 的比较与使用例子

目录 1.背景 2.测试 2.1.环境 2.2.工具 2.3.说明 2.4.结果 2.5.结论 3.xml简单教程 3.1.准备 3.2.代码 4.protobuf简单教程 4.1.快速入门 1.下载.exe编译器 2.编写.proto文件 3.利用编译器编译.proto文件生成javabean 4.引用jar包 5.直接使用javabean自带的序列化.反序列化.提取属性等方法 5.protostuff简单教程 5.1.快速入门 1.引用jar包 2.直接使用相关序列化.反序列化语法 1.背景

javabean实现serializable有什么用?为什么数据库持久就Bean实现这个接口?

Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成一组byte,这样日后要用这个对象时候,你就能把这些byte数据恢复出来,并据此重新构建那个对象了.这一点甚至在跨网络的环境下也是如此,这就意味着序列化机制能自动补偿操作系统方面的差异.也就是说,你可以在Windows机器上创键一个对象,序列化之后,再通过网络传到Unix机器上,然后在那里进行重建.你不用担心在不同的平台上数据是怎样表示的,byte顺序怎样,或者别的什么细节. 对象序列化本身就非常有趣,因

Java Web JavaBean整理

JavaBean是一种Java组件技术,就其本质就是一个类,具有如下特点:1:实现可序列化2:有一个public的无参的构造方法3:所有实例变量都是private的4:为每一个属性提供getter和setter方法,如果属性为boolean类型,那么get变换成is,如:getNew() 变成 isNew()5:建议覆盖实现hashCode.equals.toString方法 JavaBean组件在Web开发上的标准用途,主要就是封装数据,并维护这些数据但在实际的开发中,通常把JavaBean组

javaBean为什么要实现Serializable接口?

Java的"对象序列化"能让你将一个实现了Serializable接口的对象转换成一组byte,这样日后要用这个对象时候,你就能把这些byte数据恢复出来,并据此重新构建那个对象了.这一点甚至在跨网络的环境下也是如此,这就意味着序列化机制能自动补偿操作系统方面的差异.也就是说,你可以在Windows机器上创键一个对象,序列化之后,再通过网络传到Unix机器上,然后在那里进行重建.你不用担心在不同的平台上数据是怎样表示的,byte顺序怎样,或者别的什么细节. 对象序列化本身就非常有趣,因

Java对象序列化与反序列化(1)

序列化机制允许将实现序列化的Java对象转换为字节序列,这些字节序列可以被保存在磁盘上,或通过网络传输,以备以后重新恢复成原来的对象.序列化机制使得对象可以脱离程序的运行而独立存在. 对象的序列化(Serialize)指将一个Java对象写入IO流中,与此对应的是,对象的反序列化(Deserialize)则指从IO流中恢复该Java对象.如果需要让某个对象可以支持序列化机制,必须让它的类是可序列化的(serializable),为了让某个类是可序列化的,该类必须实现如下两个接口之一: (1)Se