01. 开篇词 | 拥抱Java新特性,像设计者一样工作和思考.html 02. 01 | JShell:怎么快速验证简单的小问题?.html 03. 02 | 文字块:怎么编写所见即所得的字符串?.html 04. 03 | 档案类:怎么精简地表达不可变数据?.html 05. 04 | 封闭类:怎么刹住失控的扩展性?.html 06. 05 | 类型匹配:怎么切除臃肿的强制转换?.html 07. 06 | switch表达式:怎么简化多情景操作?.html 08. 07 | switch匹配:能不能适配不同的类型?.html 09. 08 | 抛出异常,是不是错误处理的第一选择?.html 10. 09 | 异常恢复,付出的代价能不能少一点?.html 11. 10 | Flow,是异步编程的终极选择吗?.html 12. 11 | 矢量运算:Java的机器学习要来了吗?.html 13. 12 | 外部内存接口:零拷贝的障碍还有多少?.html 14. 13 | 外部函数接口,能不能取代Java本地接口?.html 15. 14 | 禁止空指针,该怎么避免崩溃的空指针?.html 16. 15 | 现代密码:你用的加密算法过时了吗?.html 17. 16 | 改进的废弃,怎么避免使用废弃的特性?.html 18. 17 | 模块系统:为什么Java需要模块化?.html 19. 18 | 模块系统:怎么模块化你的应用程序?.html 20. 期末测试|来赴一场满分之约!.html 21. 结束语 | Java的未来,依然是星辰大海.html 22. 用户故事 | 保持好奇心,积极拥抱变化.html 23. 用户故事 | 与新特性开发者对话.html