其他分享
首页 > 其他分享> > 序列化流, 打印流 , 网络三要素

序列化流, 打印流 , 网络三要素

作者:互联网

序列化流

Java提供了一种对象序列化的机制, 用一个直接序列可以表示一个对象, 该字节序列包含该对象的数据, 对象的类型和对象中存储的属性等信息. 字节序列写入到文件中后,就相当于在文件中保存了一个对象信息 . 

反之 , 该字节序列还可以从文件中读取出来,重构对象, 对它进行反序列化 . 对象的数据, 对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象.

ObjectOutputStream类

java.io.ObjectOutputStream类,将Java对象的元素数据类型写入到文件中,实现对象的持久化存储.

构造方法

特有的独有方法:

序列化操作

  1. 一个对象要想能够序列化和反序列化,必须满足两个条件:

ObjectInputStream类

java.io.ObjectInputStream类是反序列化流,将之前使用ObjectOutputStream序列化流的原始数据恢复为对象.

构造方法

特有的方法:

对于JVM来说,能够进行反序列的现象,前提条件是必须能够找到class文件的类,如果找不到该类的class文件,则会抛出一个ClassNotFoundException异常

另外,当JVM序列化对象时, 能够找到class文件,但是class文件在序列化对象时,发生了修改,那么反序列化操作会抛出一个IncalidClassException异常.原因如下:

Serializable接口给需要序列化的类,提供了一个序列化版本号,serialVersionUID 该版本号的目的就是在于验证序列化的对象和对应的类是否是版本一致的.

打印流

java.io.PrintStream类能够很方便打印各种数据类型的值.

构造方法

改变打印流的方向

正常System.out就是PrintStrean类型的,数据的流动的位置在控制台中,改变数据的流动位置.通过System.setOut(PrintStream print)来改变流向

网络编程基础

软甲架构:

B/S架构与C/S架构的区别:

两种架构各有优势,但是无论使用哪种架构,都离不开网络的支持.网络编程,就是在一定的协议下,实现两台计算机的通信的程序.

网络通信协议

协议分类

通过三次握手,建立连接后,客户端和服务器端就可以进行数据传输了。由于这种面相连接的特性,TCP协议能够数据传输的安全。所以应用挺广泛的,下载文件等。

网络编程三要素【了解】

 

标签:协议,架构,对象,打印,三要素,该类,ObjectOutputStream,序列化
来源: https://www.cnblogs.com/wazesx2580/p/14152597.html