学习Java中实现serializable接口
来源:互联网 发布:网站seo关键字优化 编辑:程序博客网 时间:2024/06/02 06:19
什么是Serializable接口?
一个对象序列化的接口,一个类只有实现了Serializable接口,它的对象才是可序列化的。Serializable实际上是一个空接口,没有什么具体内容,它的目的只是简单的标识一个类的对象可以被序列化。
Serializable接口的作用是什么?
实现serializable接口的作用是就是可以把对象存到字节流,然后可以恢复。所以你想如果你的对象没实现序列化怎么才能进行网络传输呢,要网络传输就得转为字节流,所以在分布式应用中,你就得实现序列化,如果你不需要分布式应用,那就没那个必要实现序列化。
那序列化,又是什么鬼?
序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程。在序列化期间,对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。
序列化的实现:
将需要被序列化的类实现Serializable接口,该接口没有需要实现的方法,implements Serializable只是为了标注该对象是可被序列化的,然后使用一个输出流(如:FileOutputStream)来构造一个 ObjectOutputStream(对象流)对象,接着,使用ObjectOutputStream对象的writeObject(Object obj)方法就可以将参数为obj的对象写出(即保存其状态),要恢复的话则用输入流。
序列化就是把Java对象储存在某一地方(硬盘、网络),以便于传输
序列化分为两大部分:序列化和反序列化。
1.序列化是这个过程的第一部分,将数据分解成字节流,以便存储在文件中或在网络上传输。
2.反序列化就是打开字节流并重构对象。对象序列化不仅要将基本数据类型转换成字节表示,有时还要恢复数据。恢复数据要求有恢复数据的对象实例
序列化有什么特点?
1.如果某个类能够被序列化,其子类也可以被序列化。
2.声明为static和transient类型的成员数据不能被序列化。因为static代表类的状态, transient代表对象的临时数据。
什么时候使用序列化?
1:对象序列化可以实现分布式对象
2:java对象序列化不仅保留一个对象的数据,而且递归保存对象引用的每个对象的数据
个人总结:序列化就是把一些对象转为流的形式,方便存储和传输,也能转成obj.而且存在硬盘上.
既然序列化是把对象存到硬盘上,那就让我想到了static对象,static对象好像不是很好。static 对象会丢失,尽量存到application中,原因:app中application只有一个 static会造成内存泄漏 static对象占内存
那我们什么时候可以能用static ,什么时候不能用?
1.一些能确定的值不会改变的变量,比如网络访问的api地址 能用static对象
2.一些会实时变得对象,就不能用static对象
- 学习Java中实现serializable接口
- Java中实现Serializable接口的作用
- java中实现Serializable接口的作用
- Java中serializable接口
- java对象实现Serializable接口
- Java Serializable接口实现问题
- 在Java中正确实现可序列化接口(Serializable)
- java中实现序列化serializable接口的问题
- Java中实现Serializable接口为什么要声明serialVersionUID?
- Java中实现Serializable接口为什么要声明serialVersionUID?
- Java中实现Serializable接口为什么要声明serialVersionUID?
- Java中实现Serializable接口为什么要声明serialVersionUID?
- Java中Serializable接口和Cloneable接口
- java.io.Serializable接口实现序列化
- java序列化1[实现Serializable接口]
- java实现serializable接口的作用
- Java序列化(实现Serializable接口)作用
- 为什么java要实现接口Serializable
- atom,一款开源的代码编辑器
- python求解斐波那契数列
- C#去warning
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) 部分题解
- 成为神奇宝贝大师吧!
- 学习Java中实现serializable接口
- C语言知识点
- 系统分布式情况下最终一致性方案梳理
- js中选择外部样式表中样式的方法
- POJ 2774 Long Long Message LCP后缀数组
- 正确使用Block避免循环引用(二)
- 74Hc595的使用
- 人脸识别
- OptiX PTN910设备对储存环境的要求