一、异常体系
Throwable 分 Error(OOM 等系统级,不捕获)与 Exception。Exception 中 RuntimeException 非受检(空指针、越界),其余为受检(IOException,必须处理)。
二、try-with-resources
try (BufferedReader br = new BufferedReader(new FileReader("a.txt"))) {
return br.readLine();
} catch (IOException e) { e.printStackTrace(); }
实现 AutoCloseable 的资源自动关闭,优于 finally,避免泄漏。
三、IO 与 NIO
| 维度 | IO | NIO |
|---|---|---|
| 模型 | 流式、阻塞 | 通道+缓冲、可选非阻塞 |
| 日常 | Buffered 流够用 | Files 工具类方便 |
面试常问:Error 与 Exception 区别、受检异常处理义务、try-with-resources 优势。业务代码务必别吞异常(空 catch)。