这是一份 Java 健壮编程速查资料,用于帮助开发者规避空值陷阱、相等性错误和并发问题。资料以主题加文件的形式组织,覆盖空值、Optional 与自动装箱(nulls.md),集合与迭代陷阱(collections.md),泛型与类型擦除(generics.md),并发与同步(concurrency.md),类、继承与内存(classes.md),Streams 与 CompletableFuture(streams.md),测试(JUnit、Mockito)(testing.md),以及 JVM、GC、模块(jvm.md)。
资料列出的关键规则包括:== 比较的是引用而非内容,字符串应始终用 .equals();重写 equals() 必须同时重写 hashCode(),否则 HashMap/HashSet 会出错;Optional.get() 在为空时抛异常,应改用 orElse()、orElseGet() 或 ifPresent();迭代时修改集合会抛 ConcurrentModificationException,应使用 Iterator.remove();类型擦除导致运行时泛型信息消失,不能 new T() 或 instanceof List<String>;volatile 只保证可见性不保证原子性,count++ 仍需同步;拆箱 null 会抛 NPE,如 Integer i = null; int x = i; 会崩溃;Integer == Integer 在 -128 到 127 范围外按引用比较,应使用 .equals();try-with-resources 可自动关闭资源,需实现 AutoCloseable,Java 7 及以上;内部类持有外部类引用,不需要时应使用静态嵌套类;Streams 只能使用一次,终端操作后不能复用;thenApply 与 thenCompose 的区别,链式 CompletableFuture 应使用 compose;Records 隐式 final,不能继承,组件也是 final;serialVersionUID 不匹配会破坏反序列化,应始终显式声明。
使用方式为按主题查阅对应文件,快速核对规则。资料未提供安装命令、收费信息或具体使用步骤,暂未提供。适用场景为 Java 日常开发、代码审查与常见缺陷排查。限制在于其内容为速查清单,各文件的完整解释与示例需查看对应文件,资料本身未展开。