想找《Java 开发手册》的 PDF,直接去阿里巴巴的 P3C 仓库就行。仓库 README 标注的是 黄山版,发布日期为 2022 年 2 月 3 日。
如果点开链接直接进入了浏览器的 PDF 阅读器,用工具栏里的下载按钮保存。核对一下页眉的「Java 开发手册(黄山版)」就能对上版本。
手头有个 PR,翻哪几页
假设这个 PR 加了个批量导入功能。它要去重、开线程处理文件,失败后还得留日志。这时候拿着改动翻手册,比从「命名风格」开始读省事得多。
- 去重没按预期工作,翻「编程规约 → 集合处理」。如果用对象当
HashMap的键,先看两个代表同一条业务记录的对象能不能被正确判等,再看equals和hashCode是否一起实现。可以写个小测试,用第二个对象去取第一个对象存进去的值。 - 导入放到线程池里跑,翻「编程规约 → 并发处理」。试着给这组工作线程起一个能认出用途的名字,再看看队列有多长、满了会怎样。等真要抓线程栈时,至少能认出哪组线程在干这份活。 Java 线程池打满、任务排队怎么查
- 报错只剩一句“导入失败”,翻「异常日志」。顺着调用栈看异常在哪一层被包装,原始原因还能不能查到。业务层可以带上任务 ID,负责记录失败的那一层再输出异常栈。这样能从一条日志找到对应批次,也能少打几份一样的堆栈。
不写 Java 并发的同学也能用得上。比如改了张订单表,就按目录翻 MySQL 部分,挑和这次变更有关的字段、索引看。手册也有单元测试、安全和设计规约,遇到相应改动再查。 黄山版 PDF
团队第一次用,可以从一条评审意见开始
手册把条目分成「强制」「推荐」「参考」。团队刚准备引入时,找一条最近确实在评审里争论过的规则,连同项目里的正反例写进自己的约定。以后再遇到类似改动,可以直接讲清楚要改什么、会影响什么。P3C 仓库也提供规约扫描工具,哪些条目能自动检查,可以对照仓库的实现说明。 P3C 项目说明
阿里巴巴《Java 开发手册》黄山版 PDF 下载
https://java.li/archives/alibaba-java-development-manual-download
评论