第一部分 从Java 8到Java 17及更高版本
第1章 现代Java介绍
1.1 Java语言和Java平台
1.2 Java的新发布模型
1.3 类型推断增强(var关键字)
1.4 语言和平台的更改
1.4.1 撒点儿糖
1.4.2 语言更改
1.4.3 JSR和JEP
1.4.4 孵化特性和预览特性
1.5 Java 11中的小变更
1.5.1 集合工厂(JEP 213)
1.5.2 移除企业版模块(JEP 320)
1.5.3 HTTP 2(Java 11)
1.5.4 单文件源代码程序(JEP 330)
小结
第2章 Java模块
2.1 场景设置
2.1.1 Jigsaw项目
2.1.2 模块图
2.1.3 保护内部
2.1.4 新的访问控制语义
2.2 模块的基本语法
2.2.1 导出和依赖
2.2.2 传递性
2.3 模块加载
2.3.1 平台模块
2.3.2 应用模块
2.3.3 自动模块
2.3.4 未命名模块
2.4 构建模块化应用程序
2.4.1 模块的命令行开关
2.4.2 运行模块化应用
2.4.3 模块与反射
2.5 模块架构
2.5.1 拆分包
2.5.2 Java 8运行时精简模式
2.5.3 多版本JAR
2.6 超越模块
小结
第3章 Java
3.1 文本块
3.2 switch表达式
3.3 record
3.3.1 名义类型
3.3.2 紧凑记录构造器
3.4 sealed
3.5 instanceof的新用法
3.6 模式匹配和预览特性
小结
第二部分 内部原理
第4章 类文件和字节码
4.1 类加载和类对象
4.1.1 加载和链接
4.1.2 类对象
……
第三部分 JVM上的多语言编程
第四部分 构建和运行Java应用
第五部分 Java世界的前沿展望
附录A 选择Java版本
附录B 回顾Java 8中的流
展开