基于 JDK 21 的 Java 学习项目,从入门到进阶的完整学习路径。
| 模块 | 路径 | 描述 | 学习文档 |
|---|---|---|---|
| basics | basics/ | Java 基础语法模块,基于 JDK 21 的系统性学习 | 学习文档 |
| rpc | rpc/ | RPC 框架模块,轻量级 Java RPC 实现 | 学习文档 |
| mq | mq/ | 消息队列模块,涵盖 Kafka、RocketMQ、RabbitMQ | 学习文档 |
| elasticsearch | elasticsearch/ | 搜索引擎模块,涵盖全文检索、向量检索、RAG、LLM 集成 | 学习文档 |
| multi-agent | multi-agent/ | 多代理系统模块,基于 Agent-SubAgent-Skills 架构 | 学习文档 |
| 模块 | 路径 | 描述 | 学习文档 |
|---|---|---|---|
| orm | orm/ | ORM 框架模块,整合 Spring + MyBatis | 学习文档 |
| microservice | microservice/ | 微服务模块,整合 Nacos + Dubbo | 学习文档 |
| database | database/ | 数据库模块,整合 MySQL、PostgreSQL、MongoDB、Redis | 学习文档 |
| security | security/ | 安全模块,整合 Spring Security + OAuth2 | 学习文档 |
| protocol | protocol/ | 通信协议模块,整合 WebSocket + Scheduler | 学习文档 |
| observability | observability/ | 可观测性模块,整合 Prometheus + Sentinel | 学习文档 |
| caffeine | caffeine/ | 高性能本地缓存,Java 界最优缓存实现 | 学习文档 |
| gateway | gateway/ | API 网关模块,Spring Cloud Gateway 路由 | 学习文档 |
| api-docs | api-docs/ | API 文档模块,整合 Swagger、Knife4j | 学习文档 |
git clone <repository-url>
cd Shuai-Java请参考 环境配置指南 完成开发环境搭建。
# ========== 核心模块 ==========
# 运行 basics 综合演示(Java 基础语法综合应用)
mvn -pl basics exec:java -Dexec.mainClass=com.shuai.BasicsIntegratedDemo
# 运行 basics 完整演示
mvn -pl basics exec:java -Dexec.mainClass=com.shuai.BasicsDemo
# 运行 mq 综合演示(消息队列核心概念)
mvn -pl mq exec:java -Dexec.mainClass=com.shuai.MqIntegratedDemo
# 运行 mq 各组件演示
mvn -pl mq exec:java -Dexec.mainClass=com.shuai.kafka.api.KafkaProducerDemo
mvn -pl mq exec:java -Dexec.mainClass=com.shuai.rabbitmq.api.RabbitMqProducerDemo
# 运行 elasticsearch 综合演示(搜索引擎核心功能)
mvn -pl elasticsearch exec:java -Dexec.mainClass=com.shuai.elasticsearch.ElasticsearchIntegratedDemo
# ========== 扩展模块 ==========
# 运行 database 综合演示(多数据源整合)
mvn -pl database exec:java -Dexec.mainClass=com.shuai.database.DatabaseIntegratedDemo
# 运行 caffeine 综合演示(本地缓存最佳实践)
mvn -pl caffeine exec:java -Dexec.mainClass=com.shuai.caffeine.CaffeineIntegratedDemo
# 运行 observability 综合演示(监控与流量控制)
mvn -pl observability exec:java -Dexec.mainClass=com.shuai.observability.ObservabilityIntegratedDemo
# 运行 orm 综合演示(持久层框架)
mvn -pl orm exec:java -Dexec.mainClass=com.shuai.orm.OrmIntegratedDemo
# 运行 microservice 综合演示(微服务架构)
mvn -pl microservice exec:java -Dexec.mainClass=com.shuai.microservice.MicroserviceIntegratedDemo
# 运行 security 综合演示(认证授权)
mvn -pl security exec:java -Dexec.mainClass=com.shuai.security.SecurityIntegratedDemo
# 运行 protocol 综合演示(通信协议)
mvn -pl protocol exec:java -Dexec.mainClass=com.shuai.protocol.ProtocolIntegratedDemo
# 运行 gateway 综合演示(API 网关)
mvn -pl gateway exec:java -Dexec.mainClass=com.shuai.gateway.GatewayIntegratedDemo
# 运行 api-docs 综合演示(API 文档)
mvn -pl api-docs exec:java -Dexec.mainClass=com.shuai.apidocs.ApiDocsIntegratedDemo
# ========== Docker 服务 ==========
# 启动 MySQL(database 模块需要)
cd database/docker && docker-compose up -d mysql
# 启动 Prometheus + Grafana(observability 模块需要)
cd observability/docker && docker-compose up -d prometheus grafana
# 启动 RabbitMQ(mq 模块需要)
cd mq/docker/rabbitmq && docker-compose up -d| 软件 | 版本要求 | 说明 |
|---|---|---|
| JDK | 21 LTS | 必须使用 JDK 21 或更高版本 |
| Maven | 3.8+ | 项目构建工具 |
项目配套学习文档位于 learn_docs 目录:
| 文档 | 描述 |
|---|---|
| 学习路线图 | 完整的学习路径规划 |
| 环境配置指南 | JDK 21 和 Maven 环境配置 |
| 项目结构说明 | 项目目录结构和规范 |
| 代码规范 | Java 编码规范和最佳实践 |
| JDK21新特性 | JDK 21 新特性详解 |
基于 basics/ 的 Java 基础学习内容,详细文档请参考 basics/README.md
| 章节 | 主题 | 说明 |
|---|---|---|
| 00 | 概述与快速开始 | 模块介绍、学习路线 |
| 01 | Java 基础 | 数据类型、运算符、字符串、流程控制 |
| 02 | 面向对象进阶 | 继承、多态、抽象类、接口 |
| 03 | 核心特性 | 异常、泛型、反射、SPI |
| 04 | 集合框架 | List、Set、Map、Queue |
| 05 | IO 流 | 字节流、字符流、NIO |
| 06 | 多线程 | 线程基础、同步、线程池 |
| 07 | JVM 原理 | 内存结构、垃圾回收 |
| 08 | 网络编程 | TCP、UDP 编程 |
| 09 | Netty | Netty 入门、ByteBuf |
| 10 | JSON 处理 | Jackson、Gson |
| 11 | 现代 Java | Lambda、Stream、Optional |
| 12 | 高级特性 | BigDecimal、日期时间 |
| 13 | 工具库 | Guava、日志、测试框架 |
| 14 | 数据库 | JDBC、事务管理 |
| 15 | 设计模式 | 创建型、结构型、行为型 |
| 16 | 注解 | 自定义注解、注解处理器 |
基于 rpc/ 的 RPC 框架学习内容,详细文档请参考 rpc/README.md
| 章节 | 主题 | 说明 |
|---|---|---|
| 00 | 概述与快速开始 | 模块介绍、学习路线 |
| 01 | 网络通信层 | TCP 通信、TcpClient、TcpServer |
| 02 | 协议层 | RPC 协议设计、消息编码解码 |
| 03 | 框架层 | 服务注册、动态代理、调用链路 |
| 04 | 序列化机制 | Java 序列化、JSON 序列化 |
| 05 | 实操示例 | 完整 RPC 调用示例 |
基于 elasticsearch/ 的搜索引擎学习内容,详细文档请参考 elasticsearch/README.md
| 阶段 | 主题 | 说明 |
|---|---|---|
| 第一阶段 | Elasticsearch 基础 | 概述、核心概念、文档操作、查询类型 |
| 第二阶段 | Elasticsearch 进阶 | 嵌套查询、评分函数、聚合分析、全文检索 |
| 第三阶段 | 高级主题 | 地理查询、索引管理、Milvus 入门 |
| 第四阶段 | 向量检索与 RAG | 向量检索、Embedding、RAG 实战 |
基于 database/ 的数据库学习内容,详细文档请参考 database/README.md
| 数据库 | 说明 |
|---|---|
| MySQL | JDBC 操作、连接池、事务、CRUD |
| PostgreSQL | JDBC 操作、CTEs、窗口函数、JSONB |
| MongoDB | NoSQL 文档数据库、CRUD、聚合、索引 |
| Redis | 缓存、分布式锁、数据结构 |
| LevelDB | 嵌入式键值存储 |
| RocksDB | 高性能嵌入式键值存储 |
| ShardingSphere | 分库分表、读写分离 |
| Canal | MySQL binlog 订阅与数据同步 |
基于 mq/ 的消息队列学习内容,详细文档请参考 mq/README.md
| 主题 | 说明 |
|---|---|
| Kafka 概述 | 分布式流平台、核心概念 |
| RabbitMQ 概述 | AMQP 协议、消息路由 |
| RocketMQ 概述 | 阿里巴巴分布式消息中间件 |
基于 caffeine/ 的本地缓存学习内容,详细文档请参考 caffeine/README.md
| 主题 | 说明 |
|---|---|
| 概述与快速开始 | Caffeine 介绍、特性、优势 |
| 缓存类型 | Cache/LoadingCache/AsyncCache |
| 基本使用 | CRUD 操作、配置项 |
| 淘汰策略 | 基于大小/时间/权重/引用 |
| 统计监控 | 命中率统计、监控指标 |
基于 observability/ 的可观测性学习内容,详细文档请参考 observability/README.md
| 主题 | 说明 |
|---|---|
| Prometheus 指标监控 | 指标类型、PromQL 查询、命名规范 |
| Sentinel 流量控制 | 流控策略、熔断降级、动态规则 |
| Micrometer 指标抽象 | Counter、Gauge、Timer、Histogram |
| Grafana 可视化 | 仪表盘创建、告警配置 |
基于 docker/ 的容器化学习内容,详细文档请参考 docker/README.md
| 主题 | 说明 |
|---|---|
| Docker 核心概念 | Image、Container、Registry、Daemon |
| Dockerfile 详解 | 多阶段构建、常用指令、.dockerignore |
| Docker Compose | 服务编排、网络配置、卷挂载 |
| Kubernetes 集成 | Pod、Deployment、Service、Helm |
基于 multi-agent/ 的多代理系统学习内容,详细文档请参考 multi-agent/README.md
| 主题 | 说明 |
|---|---|
| 架构概述 | Agent-SubAgent-Skills 架构设计 |
| 核心组件 | AgentMessage、AgentTask、AgentContext |
| 子代理详解 | Coding、Research、Planning 子代理 |
| 技能模块 | FileReadSkill、HttpRequestSkill、SearchSkill |
| 协调器与路由器 | TaskCoordinator、TaskRouter、MessageRouter |
| OpenSearch 集成 | 搜索查询、聚合分析 |
| 实践示例 | 完整使用案例和代码示例 |
| 最佳实践 | 代码规范、性能优化、安全性 |
作者: tianmomo 创建时间: 2026-01-15 最后更新: 2026-01-17