JAVA IO与NIO深入专题测试
考察知识点
本试卷涵盖以下核心知识点:
Java IO流体系(3题)
- IO流采用装饰器模式设计
- IO流分为输入流和输出流两大类
- 四大基类:InputStream、OutputStream、Reader、Writer
字节流与字符流(2题)
- 字节流处理字节,字符流处理字符
- 字符流适合处理文本文件
- 字节流与字符流的区别与选择
缓冲流与转换流(3题)
- BufferedReader提供缓冲和readLine方法
- BufferedWriter的newLine方法
- InputStreamReader和OutputStreamWriter转换流
- 转换流可指定字符编码
对象序列化(3题)
- Serializable接口的作用
- transient关键字修饰的字段不序列化
- static字段不序列化
- serialVersionUID版本验证
- 反序列化不调用构造方法
NIO核心组件(Channel、Buffer、Selector)(2题)
- Channel是双向通道,可同时读写
- Buffer的flip()方法切换读写模式
- Selector实现多路复用,单线程管理多个Channel
- FileChannel不能设置为非阻塞
NIO非阻塞模式(3题)
- SocketChannel和DatagramChannel可设置非阻塞
- configureBlocking(false)设置非阻塞
- 非阻塞模式下read/write可能返回0
- Selector监控四种就绪状态:OP_READ、OP_WRITE、OP_CONNECT、OP_ACCEPT
Path、Files与FileSystem API(3题)
- Path类表示文件路径(替代File)
- Files工具类的常用方法
- Files.walk()、Files.lines()、Files.list()等Stream方法
IO与NIO性能对比(2题)
- IO基于流,NIO基于缓冲区
- IO阻塞模式,NIO支持非阻塞
- 少量连接时传统IO更简单高效
- 大量连接时NIO单线程多路复用优势明显
异步I/O(AsynchronousChannel)(2题)
- AIO使用Future或CompletionHandler获取结果
- CompletionHandler的completed和failed回调
1
单选题
Java IO 流体系的设计模式是什么?
2
判断题
Java IO 流体系中,所有输入流都继承自 InputStream 或 Reader,所有输出流都继承自 OutputStream 或 Writer。
3
单选题
以下哪种场景应该优先使用字符流?
4
多选题
关于字节流与字符流的区别,以下说法正确的有?
5
单选题
以下哪个类可以为字符输入流提供缓冲功能?
6
多选题
以下关于转换流的说法,正确的有?
7
单选题
Java 对象要实现序列化,必须实现哪个接口?
8
多选题
关于 Java 对象序列化,以下说法正确的有?
9
多选题
关于 NIO 核心组件,以下说法正确的有?
10
单选题
以下哪个 Channel 可以设置为非阻塞模式?
11
多选题
关于 NIO 非阻塞模式的特点,以下说法正确的有?
12
单选题
Java NIO.2 中用于表示文件路径的类是?
13
多选题
关于 Files 工具类,以下说法正确的有?
14
多选题
关于 IO 与 NIO 的区别,以下说法正确的有?
15
填空题
BufferedReader 类提供了________方法,可以一次读取一行文本。BufferedWriter 类提供了_______方法,可以写入一个换行符。
16
多选题
Selector 可以监控 Channel 的哪些就绪状态?
17
判断题
Files.exists(Path) 方法可以检查文件或目录是否存在,Files.notExists(Path) 方法检查不存在。
18
填空题
AsynchronousFileChannel 的 read 方法可以返回______对象用于获取结果,也可以传入_________________回调接口处理完成事件。
19
多选题
以下代码使用了哪些装饰流?
Java
BufferedReader br = new BufferedReader(
new InputStreamReader(
new FileInputStream("test.txt"), "UTF-8"));
20
判断题
处理少量连接(如几十个)时,传统阻塞 IO 多线程模型比 NIO 单线程模型性能更好。
📝 发现内容有误?点击此处直接编辑
想参加完整模拟考试?
小程序提供计时考试、自动评分和详细解析
长按或扫描二维码,立即体验