课程大纲
第一节 Java 语言库
ClassLoader 机制:通过实现层面介绍 ClassLoader 类加载机制、双亲委派以及 Class Path 与 URL 之间的关系
Instrumentation 机制:介绍 JDK Instrumentation 机制,掌握 Java 字节码提升,以及常见诊断巩固的实现技巧
第二节 Java 工具库
Java SPI 机制:介绍 Java SPI 扩展机制和实现,并且对比 Dubbo 以及 Spring SPI 扩展,对比三者的优劣
Java 国际化:简介 Java 标准国际化特性和实现,并说明非英语语系乱码问题的根源,以及 Java 6 以及 Java 8 中的扩展
第三节 Java I/O 库
Java 归档文件:介绍 Java 归档文件(如 JAR 或 WAR)与传统 ZIP 文件的关系,理解 MANIFEST 架构,并且了解前沿框架对 Java 归档文件的运用,如 Maven、Spring Framework 或 Spring Boot 等
Java NIO 2.0:介绍 NIO 2.0 使用场景,从 JDK 底层详细讨论 Java 文件变化监听的实现细节
第四节 Servlet 3+ 特性
动态 Servlet 部署:介绍 Servlet 3+ 动态部署的能力,包括 Servlet 3.0 编程性 API,它们在 Servlet 生命周期中的阶段
Servlet 异步编程:讨论 Servlet 异步编程及其使用场景,掌握 Servlet 3.0 异步 API 使用以及开源框架对其的扩展实现
Servlet 非阻塞编程:讨论 Servlet 3.1+ 非阻塞编程基本使用技巧,理解它适合的使用场景,以及 Tomcat 实现的细节
第五节 Spring 核心
Spring Core 扩展:理解 Spring Bean 容器的生命周期,理解 FactoryBean 与 Objectfactory 的区别,掌握 BeanPostProcessor、BeanFactoryPostProcessor 等 API 使用。
Spring SPI 机制:回顾之前的 Java SPI 讨论,掌握 SpringFactoriesLoader 实现袭击以及与 Spring Boot 自动装配机制的关系
第六节 Spring Web
Spring Web MVC:理解 Spring Web MVC 整体架构,了解它与 Servlet API 在实现上的关系,并且重点讨论框架对 Servlet 3.0+ API 的运用
Spring WebFlux:对比 Spring Web MVC ,理解 WebFlux 架构的差异,以及介绍函数式端点的运用与实现。