Java 终极学习路线 - 共计 9 大模块 /6 大框架 /13 个中间件
前言
📫作者简介:小明java问道之路,专注于研究计算机底层/Java/Liunx 内核,就职于大型金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的架构设计📫
🏆 InfoQ 签约博主、CSDN 专家博主/Java 领域优质创作者、阿里云专家/签约博主、华为云专家、51CTO 专家/TOP 红人 🏆
🔥如果此文还不错的话,还请👍关注、点赞、收藏三连支持👍一下博主~
模块一、计算机体系结构与 C 语言特性
计算机体系结构:计算机组成原理、计算机体系结构(ISA 指令集、intel 开发手册)、CSAPP (深入理解计算机系统)、汇编语言、编译原理(ELF、汇编器)、操作系统
C 语言:指针、结构体、汇编语言下的 C 语言(编译原理、指令)
模块二、数据结构与算法
数据结构:链表、队列、栈、hash 表、树、图、字符串、单调栈、字典树、线段树、并查集
算法:排序、选择、字符串 API、 贪心、dfsbfs、 递归、回溯、动态规划、穷举、迭代、双指针
模块三、Java 语言特性
Java 基础语法:数组、面向对象编程、类的高级特性、异常处理、常用数据结构 API
Java 高级特性:Lambda、Stream、流式编程、函数式编程、反应式编程、异步编程、网络编程 AIO/BIO/NIO、Java 线程(Thread、Runable、java.util.concurrent(JUC 包)、Lock、Executor、ConcurrentHashMap、LinkedBlockingDeque...)、Java 线程和 Linux 线程的联系
模块四、JVM(Java 虚拟机)
HotSpot 内核、HotSpot 启动、HotSpot 系统初始化、HotSpot Oops 模块、Klass 框架、对象标识机制、对象内存布局、类加载、链接、初始化、创建对象的过程、运行时数据区(程序计数器、jvm 栈、本地方法栈、堆、方法区、运行时常量池、直接内存)
OOM(OutOfMemoryError)、StackOverflowError、垃圾回收算法、垃圾回收器、指令集、解释器、JIT、字节码指令集、字节码执行引擎
虚拟机监控工具(优化实战)(Attach、Heap Dump、jhat、jstack)
Java 内存模型与线程:JMM、线程实现、线程调度、状态转换、线程安全、锁优化
模块五、MySQL
MySQL 基础:MySQL 数据类型、锁机制、事务、MVCC(多版本并发控制)、存储引擎(Innodb、MyISAM)
MySQL 高级特性:MySQL 语句性能分析、索引(唯一、覆盖、聚簇...)、索引数据结构、优化 SQL 性能、分区表、视图、游标、字符集、全文索引、分布式事务、缓存
MySQL 实战:数据分布、负载均衡、备份与恢复、故障切换、主从复制、监控、分库分表
模块六、框架
Spring 全家桶:
Springboot:SpringBoot 启动器原理、核心源码、自动配置
Spring、SpringMVC:Spring 核心流程、Spring 工作常用注解、循环依赖及 Bean 定义解析、IOC 容器源码、AOP 源码、声明式事务源码解读、tomcat 的 SPI 机制加载 springmvc 容器、RequestMappingInfo 和 HandlerMethod 映射关系、handlerMapping 和 HandlerAdapter 关系、HandlerInterceptor 的前置、中置、后置过滤器原理、HandlerAdapter 的参数解析原理 springmvc 的调用流程梳理、响应式编程-WebFlux
SpringCloud alibaba:Nacos-Discovery 服务发现、配置中心 Nacos-Config;SkyWalking 链路跟踪概述、AssemblyPlugin、Sentinel 限流、熔断器、Seala 分布式事务
SpringCloud Netflix:Zuul 路由网关详解及源码探析、Ribbon 客户端负载均衡原理、Feign 声明式服务调用、Eureka 注册中心、Config 配置服务中心与 svn、git 集成、Hystrix 服务熔断及服务降级、Bus/Sleuth/Stream、微服务日志、自定义分布式配置中心
MyBatis:配置使用、执行流程、源码分析、连接池
Dubbo:Dubbo 架构原理和内核、Dubbo SPI 原理、Dubbo I0C 和 AOP 原理、Dubbo 动态编译、服务发布原理、服务引用原理、集群容错设计、服务降级设计、网络通信架构、网络通信编码解码
模块七、中间件
Redis:Redis 缓存雪崩、缓存击穿、缓存预热、热点 key、缓存降级、短链接、分布式锁
秒杀、预减库存、堆外缓存+Redis 架构设计、Redis 动态刷新、Redis 和 DB 双写一致性、过期删除策略、集群数据倾斜
Redis 核心源码解读、String/Hash/List/Set/ZSet 数据结构、Kernel 与 Epoll 多路复用机制
RabbitMQ、RocketMQ、Kafka,消息发布与消费权衡、消息拒绝、应用解耦实战、集群化与镜像队列实战
RocketMQ:消息存储机制、多种消息模式、高可用性机制、provider 与 consumer 负载均衡机制、消息过滤 TAG/SQL 及类过滤模式
Kafka:Kafka 的生产者和消费者及高级特性、集群
实战:如何处理消息重试(顺序/无序/死信队列)、解决项目中常遇到的消费幂等性问题、可靠数据传递集群搭建、削峰填谷、与 Spring 整合、镜像队列
zookeeper:Zookeeper 指令、zkclient、curotor、集群选举、分布式锁
ngnix:Nginx 进程模型及配置、location 规则、rewrite 解析等动静分离、反向代理及跨域
tomcat:HTTP 请求解析与处理流程、Tomcat 核心组件、类加载机制及源码解析、BIO/NIO 源码、Tomcat 集群与会话复制方案
分库分表
mycat:实现 MySQL 读写分离、数据库切分、全局表、ER 表、 分片机制分析
sharding-jdbc:引擎原理与数据分片、读写分离、编排治理、分布式事务、数据脱敏
kubernetes(K8S):Kubernetes 集群管理方案实战
docker:基础操作、Docker File、网络存储、DockerCompose、微服务与 Docker 集成实现动态扩容
Elastic:ElasticSearch
原理、分布式 CRUD、索引管理、分片、搜索优化
elastic-job
模块八、项目架构
高可用、高并发、高性能
高伸缩、高安全、防资损
模块九、软技能
UML 使用、PPT 汇编、演讲、技术设计文档撰写、需求理解、需求沟通、架构文档撰写。专业术语的使用、向上管理、面向绩效/领导编程
总结
版权声明: 本文为 InfoQ 作者【小明Java问道之路】的原创文章。
原文链接:【http://xie.infoq.cn/article/0bc2ec9c086e0ff30c2310bae】。文章转载请联系作者。
评论