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