今天是IO体系的最后一天,请根据自己的理解回答以下问题:
1、序列化流中的serialVersionUID的作用
当一个类实现了Serializable,可以被序列化,会在这个类中生成一个随机的serialVerisonUID,当序列化的时候.会将serialVerisonUID序列化到文档中,当反序列化时,会将文档中的serialVerisonUID和类中的serialVerisonUID进行比较,如果反序列化之前修改了类中的内容,类中的serialVerisonUID会在次随机生成,比较之后,两次序列化值不相同,会反序列化失败,因此随机生成的序列化值不安全,可以自己指定一个serialVersionUID,在类的内容修改之后,serialVersionUID不会改变
2、请根据自己的语言表述IO流的体系
(1)IO流概念
IO:是指Input和Output
流:是一种抽象概念,是对数据传输的总称,也就是说数据在设备之间传输就是流,流的本质就是数据传输
IO流是用来处理设备间的数据传输问题
(2)IO流分类
按照数据流向分为输入流(读数据)和输出流(写数据)
按照数据类型分为字节流(字节输入流和字节输出流)和字符流(字符输入流和字符输出流)
为了提升数据传输效率,还提供了字节缓冲流和字符缓冲流
特殊操作流还分为标准流 对象序列化流 Properties
(3)IO流使用场景
如果操作的是纯文本,优先使用字符流
如果操作的是图片 音频 视频等二进制文件优先使用字节流
如果不确定文件类型,优先使用字节流,因为字节流是万能流
|