04-Java进阶特性
Java 进阶特性 参考指导书 2.4 Java 进阶特性 学习清单 异常处理(try-catch-finally, throws, 自定义异常) IO 流(File, InputStream, OutputStream, Reader, Writer) 多线程(Thread, Runnable, 线程池 ExecutorService) Lambda 表达式(Java 8+) Stream API(Java 8+) 注解(Annotation) 反射(Reflection) 1. 异常处理 1.1 为什么需要异常 没有异常机制的语言(比如 C)靠返回值来判断错误: int result = doSomething(); if (result == -1) { /* 错误 1 */ } if (result == -2) { /* 错误 2 */ } // 正常逻辑和错误处理混在一起,层层 if 嵌套,可读性极差 Java 的异常机制把正常逻辑和错误处理分开——代码沿着"快乐路径"写,错误交给 catch 块处理。 1.2 异常体系 Throwable ├── Error 严重错误,程序无法处理(OutOfMemoryError、StackOverflowError) └── Exception 可处理的异常 ├── RuntimeException(运行期异常) 不强制处理,如 NullPointerException、ArrayIndexOutOfBoundsException └── 其他(编译期异常) 必须显式处理,如 IOException、SQLException 编译期异常 vs 运行期异常: ...