Java基础知识整理(四)

原创 2015年07月08日 15:23:32

18 Java序列化

可以通过序列化来保存一个对象的状态(实例变量)到文件中,也可以从这个格式化的文件中很容易地读取对象的状态从而可以恢复保存的对象。

ObjectOutputStream:输出流并序列化对象。
ObjectInputStream:读取流并反序列化对象。
Serializable:一个对象要想被序列化,那么它的类就要实现此接口。

示例代码如下:

1> Book.java
这里写图片描述

2> Student.java
这里写图片描述

3> Simulator.java
这里写图片描述

代码运行结果如下:
这里写图片描述

总结如下:

1> 基本类型的数据可以直接序列化。
2> 对象要被序列化,它的类必须要实现Serializable接口;如果一个类中有引用类型的实例变量,这个引用类型也要实现Serializable接口。在上述例子中,Student类有一个Book类型的实例,如果想让Student的对象成功序列化,那么Book也必须要实现Serializable接口。当一个父类实现序列化时,子类自动实现序列化,不需要显示实现Serializable接口。
3> static, transient后的变量不能被序列化。

19 Java序列化与JSON序列化
Java观点:Object2Object,使用时简单快速,由于是二进制,序列化的数据小。
JSON观点:JSON格式与语言无关,扩展性强。

以上是传统观点,经过大牛的测试之后,JSON-smart比java序列化更吊。所以究竟谁更优秀还有待考究。

相关文章推荐

计算机网络基础知识整理(二)

4 OSI参考模型OSI参考模型(OSI/RM)的全称是开放系统互联参考模型,它是由估计标准化组织提出的一个网络系统互联模型。在OSI参考模型中,每一层都为其上一层提供服务,并未其上一层提供一个访问接...

计算机网络基础知识整理(三)

6 TCP/IP报文格式TCP中部分字段介绍: 1> 序号:seq序号,占32位,用来标识从TCP源端向目的端发送的字节流。发送方发送数据时对此进行标记。2> 确认序号:Ack序号,占32位,只有A...

JAVA基础知识整理(四)

19.java中异常类的结构,你了解哪些异常,什么时候出现 所有异常都是有Throwable继承而来的,再下一层分为两个分支error和RuntimeException。 派生于RuntimeEx...

java基础知识整理

  • 2014年10月24日 15:35
  • 31KB
  • 下载

备战第一站:Java基础知识集合(整理)一

第一题:面向对象的特征有哪些方面? (1)抽象:抽象就是忽略一个主题 中与当前目标无关的部分,以便集中关心与当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部分,不关心部分细节。抽象...

Java正则表达式基础知识整理

指定为字符串的正则表达式必须首先被编译为此类的实例。然后,可将得到的模式用于创建 Matcher 对象,依照正则表达式,该对象可以与任意字符序列匹配。执行匹配所涉及的所有状态都驻留在匹配器中,所以多个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java基础知识整理(四)
举报原因:
原因补充:

(最多只允许输入30个字)