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