- 介绍一下Java中的IO流
- 按照数据流向,可以将流分为输入流和输出流
 - 按照数据类型,可以将流分为字节流和字符流,
 - 按照处理功能,可以将流分为节点流和处理流
 
 - 怎么用流打开一个大文件?
避免直接将文件中的数据全部读取到内存中- 缓冲流
 - 使用NIO
 
 - 说说NIO的实现原理
- Java的NIO主要由三个核心部分组成:Channel、Buffer、Selector。
 - 基本上,所有的IO在NIO中都从一个Channel开始,数据可以从Channel读到Buffer中,也可以从Buffer写到Channel中
 - Buffer本质上是一块可以写入数据,然后可以从中读取数据的内存。
 - Selector允许单线程处理多个 Channel,
 
 - 介绍一下Java的序列化与反序列化
- 序列化机制可以将对象转换成字节序列,这些字节序列可以保存在磁盘上,也可以在网络中传输,并允许程序将这些字节序列再次恢复成原来的对象
 - 支持序列化需要实现Serializable接口
 - 实现序列化需要使用对象流ObjectInputStream和ObjectOutputStream
 
 - Serializable接口为什么需要定义serialVersionUID变量?
- 是否允许实现恢复数据的评判标准
 
 - 除了Java自带的序列化之外,你还了解哪些序列化工具?
- JSON
 - Protobuf
 
 
