
资源介绍
全书共 13 章,包含大量编程问题及解决方案,涉及文本块、本地化、数字与数学运算、对象与不可变性、日期时间处理、记录模式、数组与数据结构等多个核心主题。
核心章节内容
文本块、本地化、数字与数学
详细讲解 Java 文本块(Text Blocks)的使用,包括多行 SQL、JSON、HTML 字符串的创建,文本块分隔符、缩进处理、空格移除等技巧。
介绍本地化(Locale)相关操作,如创建 Locale、自定义本地化日期时间格式。
深入探讨数学运算中的关键问题,如绝对值计算的溢出处理、商的计算、质数因子分解、巴比伦法求平方根等,还涵盖伪随机数生成器的选择与线程安全使用。
对象、不可变性、switch 表达式与模式匹配
解析 UTF-8、UTF-16、UTF-32 等字符编码的差异及 Java 中的应用。
探讨不可变对象的实现,以不可变栈为例讲解不可变性设计原则。
详解 switch 表达式的增强特性,包括 yield 关键字的使用、null 值处理,以及模式匹配在 instanceof 和 switch 中的应用,如类型模式、守卫模式等。
日期与时间处理
覆盖日期时间 API 的常见操作,如定义一天中的时间段、日期与 YearMonth 的转换、季度计算、闰年判断等。
介绍时钟类(Clock)的使用差异,以及如何计算两个日期之间的周数、季度数等。
记录(Record)与记录模式
从记录的声明开始,讲解规范构造器、紧凑构造器的使用,以及记录中可添加的成员与限制。
深入分析记录模式在 instanceof 和 switch 中的应用,包括嵌套记录模式、泛型记录模式及 null 值处理。
探讨记录在 Spring Boot、JPA、jOOQ 等框架中的实际应用。
数组、集合与数据结构
介绍向量 API(Vector API)在数据并行处理中的应用,如数组求和、矩阵乘法、图像滤镜实现。
详解多种数据结构,如绳结构(Rope)、跳表(Skip List)、K-D 树、拉链(Zipper)、二项堆、斐波那契堆等,及其核心操作的实现。
讲解三种经典连接算法:嵌套循环连接、哈希连接和排序合并连接。
其他重要主题
Java I/O:涵盖对象序列化、反序列化过滤器的使用,以及如何避免反序列化过程中的安全问题。
外部函数与内存 API:介绍 JNI、JNA 等技术,以及 Project Panama 的架构与内存操作。
密封类与隐藏类:讲解密封类的声明、permits 子句的使用,及其与记录、模式匹配的结合。
函数式编程:扩展 Stream API,如 mapMulti () 方法的使用、动态谓词构建、自定义收集器等。
并发:深入探讨虚拟线程、结构化并发,包括 ExecutorService 的使用、线程安全的伪随机数生成等。
书籍特点
实战导向:每个主题都通过具体问题展开,提供详细解决方案及代码示例,帮助读者理解并掌握实际应用场景。
覆盖全面:从 Java 8 到 Java 17 + 的新特性均有涉及,如文本块、记录、密封类、虚拟线程等,助力开发者跟进最新技术。
深度解析:对关键概念不仅介绍用法,还解释底层原理,如类型擦除、模式匹配的作用域、序列化机制等。
Java Coding Problems