请大数据推给正在Java面试的吧!
前言
Java中I/O是以流为基础进行数据的输入输出的,所有数据被串行化(所谓串行化就是数据要按顺序进行输入输出)写入输出流。简单来说就是java通过io流方式和外部设备进行交互。
1、 什么是IO
2、 在了解不同的IO之前先了解:同步与异步,阻塞与非阻塞的区别
3、 什么是BIO
4、 什么是NIO
5、 什么是AIO
6、 什么Netty
7、 BIO和NIO、AIO的区别
8、 IO流的分类
9、 什么是内核空间
10、 五种IO模型,分别介绍
阻塞BIO(blocking I/O)
非阻塞NIO(noblocking I/O)
异步AIO(asynchronous I/O)
信号驱动IO(signal blocking I/O)
IO多路转接(I/O multiplexing)
11、 什么是比特(Bit),什么是字节(Byte),什么是字符(Char),它们长度是多少,各有什么区别?
12、 什么叫对象序列化,什么是反序列化,实现对象序列化需要做哪些工作?
13、 在实现序列化接口是时候一般要生成一个serialVersionUID字段,它叫做什么,一般有什么用?
14、 怎么生成SerialversionUID
15、 BufferedReader属于哪种流,它主要是用来做什么的,它里面有那些经典的方法?
16、 Java中流类的超类主要有那些?
17、 为什么图片、视频、音乐、文件等 都是要字节流来读取
18、 IO的常用类和方法,以及如何使用
19、 IO基本操作讲解
20、 网络操作IO讲解
21、 网络操作IO编程演变历史
22、BIO编程会出现什么问题?
23、多线程解决BIO编程会出现的问题
24、线程池解决多线程BIO编程会出现的问题
25、使用NIO实现网络通信
26、使用Netty实现网络通信
BIO,NIO,AIO,Netty面试题(附答案解析)
获取方式↓↓↓
添加VX备注【242】即可免费获取
【JAVA面试题专栏】
腾讯三面:Spring Boot夺命连环30问,被怼的怀疑人生!
字节三面:Java多线程夺命连环60问,被面试官怼的怀疑人生~