java-study-notes 持续更新中.... Java 架构师学习笔记 学习课程内容:网易云课堂微专业《Java高级架构师》 注: ✅ 表示当前章节已完成 ✨ 更新优先级高的章节 ========= 个人学习笔记,谢绝转载 ========== 目录 00 | 内容思维导图 ✅ 01 | 单节点系统 1. 框架应用 2. Java 核心基础 ✨ 2.1 Java 程序运行原理分析 ✅ 2.2 多线程核心 2.2.1 线程状态 ✅ 2.2.2 线程中止 ✅ 2.2.3 内存屏障和CPU缓存 ✅ 2.2.4 线程通信 ✅ 2.2.5 线程封闭 ✅ 2.2.6 线程池原理 ✅ 3.应用服务器优化 3.1 性能测试 ✅ 3.2 JVM 性能优化实战 ✅ 3.3 Tomcat 容器优化 ✅ 4. 单系统高并发优化 ✨ 4.1 缓存优化 ✅ 4.2 线程安全问题 ✅ 4.3 J.U.C 并发编程包 4.3.1 Lock 接口 ✅ 4.3.2 读写锁与 AQS ✅ 4.3.3 并发容器类 ✅ 4.3.4 并发协同工具 ✅ 4.3.5 FutureTask 核心思想 ✅ 4.3.6 Fork/Join 并发处理框架 4.4 异步优化 ✅ 4.4 单机限流 ✅ 5. 框架源码 5.1 Spring 框架原理 5.2 Mybatis 框架原理 5.3 Spring Boot 框架原理 5.4 Netty 框架源码学习 5.5 Netty 实践分享 5.5.1 Netty 构建百万连接 ✅ 5.5.2 Netty 实战中的注意事项 ✅ 5.6 Spring Webflux 02 | 分布式系统 1.性能检测 ✅ 2. 集群部署负载均衡 2.1 负载均衡导学 ✅ 2.2 Nginx 入门 2.3 LVS 负载均衡技术 2.4 结合云平台的负载均衡技术 2.5 Nginx 实战技巧 2.6 负载均衡原理层 2.7 云平台负载均衡实操 2.8 实践案例 3. 集中式缓存 Redis ✨✨ 3.1 导学入门 ✅ 3.2 Redis 应用详解 3.2.1 Redis 入门 ✅ 3.2.2 Redis 操作 ✅ 3.2.3 利用Redis支撑十万级并发 ✅ 3.2.4 Spring 与 Redis 集成方式及缓存注解原理 ✅ 3.2.5 直播系统后台接口中是如何使用 Redis 的 ✅ 3.2.6 基于 Redis 实现直播间聊天室后台支撑系统 ✅ 3.2.7 用 Redis 实现附近的人查询功能 ✅ 3.2.8 发布订阅机制 ✅ 3.2.9 Redis 持久化机制 ✅ 3.2.10 Redis 内存管理 ✅ 3.2.11 Redis 主从复制 ✅ 3.2.12 哨兵高可用机制 ✅ 3.2.13 Redis 集群分片存储 3.2.14 Redis 集群监控 ✅ 3.2.15 缓存失效导致雪崩的危害及应对方案 ✅ 3.2.16 缓存击穿的风险和应对方案 ✅ 3.3 Redis 底层原理分析 3.3.1 Redis 数据结构原理 3.3.1 Redis 数据结构之分布式锁的实现 3.3.1 Redis 持久化 3.3.1 缓存中间件之 Redis 主从模式原理 3.3.1 缓存中间件之 Redis Sentinel 高可用组件 3.3.1 缓存中间件之 Redis Cluster 集群模式 3.3.1 缓存中间件之第三方 Redis 集群模式 3.4 Memcached 3.4.1 Memcached 协议 ✅ 3.4.2 Memcached 工作原理及优缺点 ✅ 3.4.3 缓存和数据库更新一致性原则 ✅ 3.5 Redis 实战 3.5.1 实现定时消息通知 ✅ 3.5.2 数据计数 / 订单号生成 3.5.1 技术分享 【考拉海购】缓存应用实践 4. 数据存储层优化 ✨✨ 4.1 课程导学 ✅ 4.2 MySQL 运行原理分析 ✅ 4.3 SQL 查询定位和优化 ✅ 4.4 SQL 查询技巧分析 ✅ 4.5 详解数据库锁 4.6 数据变更注意事项 4.7 数据库中间件设计 4.8 MyCat 数据库集群中间件 4.9 Sharding - JDBC 数据库操作增强类库 4.10 安全防护 4.10.1 常见的安全问题场景 4.10.2 Hash算法与碰撞 4.10.3 数字签名与数字证书 4.10.4 请求重放与中间人攻击 4.10.5 openId 与 oauth 4.10.6 单点登录 4.10.7 实现简单单点登录系统 4.11 搜索引擎 ES 4.11.1 搜索引擎核心理论思想 ✅ 4.11.2 ES 应用场景及核心概念 ✅ 4.11.3 ES 查询语法解析 4.11.4 ES 高级查询 ✅ 4.11.5 ES 高性能集群 ✅ 4.11.6 ELK 03 | 服务化改造 1. 分布式系统拆分理论 1.0 章节背景 ✅ 1.1 分布式系统架构演进之路 ✅ 1.2 为什么需要服务化拆分 ✅ 1.3 什么情况下需要服务化拆分 ✅ 1.4 拆分原则 1.5 拆分步骤和方法 1.5.1 识别业务领域模型和边界 1.5.2 领域划分和建模方法 1.5.3 领域划分的方法和经验 1.5.4 企业级电商领域建模真实案例解析 1.5.5 企业级服务拆分的真实案例解析 2. 分布式系统拆分实战 ✨ 2.1 背景 2.2 服务化的基础设施简介 2.3 Java RPC 通信 ✨ 2.4 Maven 模板工程搭建 3. 分布式系统解耦 ✨ 3.1 耦合以及耦合带来的问题 3.2 服务依赖解耦方法 3.3 依托于消息队列的架构设计和实践 3.4 项目演示 3.5 常见消息中间件介绍 3.6 消息队列的持久化和可靠消息与事务消息 3.7 分布式消息中间件设计 3.8 ActiveMQ 3.9 RabbitMQ 3.10 Kafka 3.11 RocketMQ 4. 服务化集群管理 Dubbo 高阶实战 ✨✨ 4.1 Dubbo 源码剖析 4.2 Dubbo更多使用特性 4.3 Dubbo 项目实践 4.4 Zookeeper 核心功能和应用场景 4.5 分布式锁 4.6 分布式事务 4.7 分布式配置中心 4.8 分布式链路追踪 04 | 容器化微服务 1. 微服务架构 Dubbo vs. Spring Cloud ✨✨ 1.0 章节背景 1.1 微服务的概念与优势 1.2 微服务与服务化的比较 1.3 项目演示 1.4 Spring Netflix 组件 1.5 Spring Cloud 生态 1.6 Spring Cloud Alibaba 2. 容器化技术 2.1 Docker 容器 2.2 Kubernetes 编排 2.3 Docker 入门 2.4 Docker 进阶 2.5 网易 Docker 最佳实践 2.6 Git 版本控制工具 2.7 Jenkins 3. 云原生 DevOps 3.1 云原生 CICD 3.2 监控 3.3 日志 4. Server Mesh 服务网格 4.1 背景 4.2 Service Mesh 概念及架构 4.3 Service Mesh 核心功能 4.4 Service Mesh 上手初体验 05 | 职业素养与项目分享 1. 提升职业素养 2. 职场项目管理 3. 网易技术分享