Java中高级程序员全程学习路线图

Java中高级程序员全程学习路线图

第一阶段:基础部分

Java基础

  • 基本语法

    • 变量

    • 运算符

    • 流程控制语句

  • 面向对象特性

    • 属性、方法

    • 构造器

    • 封装

    • 继承

    • 多态

    • 抽象类、接口

  • 高级应用

    • 异常处理

    • IO流

    • 多线程

    • 集合框架

    • 反射机制

    • 基础API

    • 枚举、注解

MySQL基础

  • MySQL安装

  • 基本的SELECT语句

  • 多表查询

  • 子查询

  • 单行函数&组函数

  • DDL & DCL & DML

  • 约束

JDBC

  • 手动获取数据库连接

  • Statement 完成增、删、改

  • PreparedStatement 增、删、改、查

  • JDBC 事务

  • DBUtil

  • 数据库连接池

第二阶段:网站前后台技术

前端基础

  • HMTL5和CSS

    • HTML基本使用

    • HTML DOM

    • HTML5 特性

    • CSS 选择器

    • 常用样式

    • CSS3 特性

    • 盒子模型与布局

  • JavaScript

    • JavaScript 概述

    • ECMAScript、DOM、BOM

    • 嵌入 JS 三种方式以及 JS 的注释

    • 标识符、关键字和变量

    • JS 数据类型

    • JS基本语法

    • JS 中的事件

    • JS 运算符之 void

    • JS 之控制语句

    • JS 内置对象

    • BOM 和 DOM 的区别与联系

    • DOM 编程案例

    • BOM 编程案例

WEB服务端

  • XML

    • XML 用途

    • XML 文档结构

    • XML 基本语法

    • DOM & SAX 解析方案

    • DOM4j 节点查询

    • DOM4j 文档操作

  • Tomcat

    • Tomcat 端口配置

    • Tomcat 服务器搭建

    • Tomcat 启动 & 停止

    • Tomcat & IntelliJ IDEA整合

  • HTTP协议

    • Http协议概述

    • 请求报文

    • 响应报文

后台三大组件

  • Servlet

    • 系统结构概论

    • 开发第一个 Servlet 程序

    • Servlet 对象生命周期

    • 单实例多线程环境下运行

    • GenericServlet

    • HttpServlet

    • ServletConfig

    • ServletContext

    • HttpServletRequest

    • HttpServletResponse

    • web 开发中乱码的解决方案

    • 转发与重定向

    • Servlet3.0 新特性

  • Filter

    • Filter 原理

    • Filter 生命周期

    • Filter 链

    • Filter 登录验证

    • Fiiter 事务控制

  • Listener

    • Listener 原理

    • 八大监听器使用

    • Listener监听在线用户

会话控制

  • Cookie

    • Cookie简介

    • Cookie创建和获取

    • Cookie运行原理

    • Cookie修改+Cookie有效时间

    • Cookie有效路径+Cookie用途

  • Session

    • Session简介

    • Session创建和获取

    • Session运行原理

    • Session的空闲时间

    • Session的钝化和活化

Ajax & Json

  • Ajax 技术衍生

  • XMLHttpRequest使用

  • 同步请求 & 异步请求

  • JSON语法

  • Java JSON 转换

  • JavaScript JSON 转换

  • jQuery 基本Ajax方法

  • 底层$.ajax使用

  • 网页实现异步更新 & 轻量级数据交换格式

文件上传和下载

  • 文件上传

    • 文件上传原理

    • Commons-IO& Commons-FileUpload

    • 文件上传参数控制

    • 文件上传路径浏览器兼容性解决

  • 文件下载

    • 文件下载响应头

    • 文件下载中文乱码 & 浏览器

    • 文件下载原理

Thymeleaf

  • Thymeleaf

    • Thymeleaf 在Springboot 中的配置

    • Thymeleaf 标准表达式语法

    • Thymeleaf 循环分支判断

    • Thymeleaf 页面引入介绍

    • Thymeleaf 超链接和js调用

    • Thymeleaf 其他功能介绍

ES6语法 & Vue.JS

  • VSCode安装与使用

  • ES6基础语法

    • ES6模块化
  • Vue入门与提取代码片段

    • Vue数据渲染和指令

    • Vue双向数据绑定

    • Vue事件

    • Vue修饰符、条件渲染、列表渲染

    • Vue计算属性、侦听属性

    • Vue过滤器

    • Vue组件、指令(局部、全局)

    • Vue生命周期

第三阶段:经典框架

项目管理工具—Maven

  • Maven 环境搭建

  • Maven 构建和部署

  • 本地仓库 & 中央仓库

  • maven 创建 web 工程

  • pom.xml、依赖管理

  • 坐标、依赖、生命周期等

  • IntelliJ IDEA下的maven使用

  • 继承 & 聚合

Java 轻量级应用框架—Spring 5

  • SpringIOC & DI 机制

  • Spring 配置式组件管理

  • Spring 注解式自动装配

  • Spring 表达式语言

  • SpringAOP & 动态代理

  • SpringJDBC 使用

  • Spring 声明式事物

  • Spring 单元测试

  • Spring 源码分析

Java 轻量级 web 开发框架—SpringMVC

  • SpringMVC概述与入门程序

  • 详解@RequestMapping注解

  • REST介绍与操作

  • 映射请求参数

  • 处理模型数据

  • 视图和视图解析器

  • REST CRUD操作

  • 处理JSON数据

  • 文件上传组件与原理

  • 详解拦截器

  • SpringMVC异常处理

  • SpringMVC运行流程与源码解析

数据访问框架—MyBatis 3

  • MyBatis入门程序

  • MyBatis 配置& 查询数据

  • MyBatis全局配置文件

  • MyBatis 映射文件

  • 关联查询,动态SQL

  • MyBatis缓存机制

  • MyBatis 逆向工程

  • MyBatis 运行原理、源码解析

  • MyBatis分页插件

SSM整合

  • 整合前注意点

  • 整合:思路、导包

  • SSM整合:Spring、SpingMVC、MyBatis

  • SSM整合练习

Linux

  • Linux入门概述

  • vmware安装

  • CentOS7安装

  • 远程工具

  • Linux文件与目录结构

  • Linux 常用命令

  • VI&VIM编辑器

  • Linux用户与权限管理

  • rpm与yum

第四阶段:高级和前沿技术

  • 版本控制:Git、Gitee、GitHub

    • Git 概述

    • Git 安装配置

    • Git 本地仓库搭建

    • Git 常用操作命令

    • Git本地库实战

    • 使用 GitHub/Gitee

    • Git远程库实战

    • IntelliJ IDEA集成Git

    • Git工程流

  • Nginx

    • Nginx介绍与作用

    • Nginx安装

    • Nginx常用命令

    • Nginx配置详解

    • Nginx实现反向代理

    • Nginx实现负载均衡

    • Nginx实现动静分离

    • Nginx原理

    • Nginx参数配置优化

    • Nginx集群

  • RabbitMQ

    • 消息中间件概述

    • 安装及配置RabbitMQ

    • RabbitMQ入门

    • AMQP与RabbitMQ运转流程

    • RabbitMQ工作模式

    • Spring 整合RabbitMQ

    • RabbitMQ高级特性

    • RabbitMQ集成微服务

    • 消息百分百成功投递

    • 消息幂等性保障

    • RabbitMQ集群搭建

  • Docker

    • Docker简介与组件

    • Docker安装与启动

    • 镜像相关命令

    • 容器相关命令

    • MySQL部署

    • Tomcat部署

    • Nginx部署

    • Redis部署

    • 迁移与备份

    • Dockerfile

    • Docker私有仓库

  • Redis 6

    • NoSQL & Redis 入门

    • 应用场景

    • Redis/memcache/MongDB 对比

    • Redis 安装 & 启动

    • Redis 五大数据类型和基本操作命令

    • Redis 总体配置Redis.conf

    • Java 操作 Redis

    • Redis 持久化(RDB & AOF)

    • Redis 事务控制

    • 主从模型搭建

    • 哨兵集群搭建

    • Redis Cluster集群搭建

  • SpringBoot 2.4.x

    • Spring 分布式架构

    • SpringBoot 概述

    • SpringBoot优势

    • SpringBoot快速入门

    • SpringBoot配置文件详解

    • SpringBoot 自动配置与原理

    • SpringBoot启动器与原理

    • SpringBoot整合Junit

    • SpringBoot整合Druid数据源

    • SpringBoot集成业务层事务

    • SpringBoot整合Spring Data JPA

    • SpringBoot 整合Mybatis

    • SpringBoot整合Redis

    • SpringBoot整合定时任务

    • SpringBoot整合模板Thymeleaf

    • SpringBoot整合Web组件

    • SpringBoot的Admin组件

    • SpringBoot的Actuator组件

    • SpringBoot项目打包部署

  • SpringCloud

    • 微服务理论

    • 分布式概念

    • SpringCloud背景与版本

    • 服务注册与发现: Eureka、Consul

    • Ribbon负载均衡

    • OpenFeign服务调用

    • Hystrix 服务限流、降级、熔断

    • Gateway服务网关

    • SpringCloud Sleuth链路追踪

    • Spring Cloud Alibaba

      • Nacos 注册、配置中心

      • Sentinel 服务熔断与流控

  • MyBatis-Plus

    • 入门程序

    • 主键策略和分布式id生成器

    • 自动填充

    • 乐观锁插件

    • 分页插件

    • 逻辑删除

    • 性能分析插件

    • 条件构造器

    • MP代码生成器

  • 分布式事务

    • 分布式事务介绍

    • 微服务分布式事务问题

    • 分布式事务系统架构

    • CAP定理

    • 基于XA协议的两阶段提交(2PC)

    • 代码补偿事务(TCC)

    • 本地消息表(异步确保)- 事务最终一致性

    • MQ 事务消息

    • Seata框架

    • Seata原理

第五阶段:就业加薪课

MySQL高级

  • MySQL_rpm安装

  • 用户与权限管理

  • 杂项配置sql_mode

  • 逻辑架构

  • 数据结构以及时间复杂度

  • 存储引擎简介

  • 索引介绍

  • explain查看执行计划

  • explain_各字段解释

  • 单表使用索引及常见索引失效

  • 关联查询优化

  • 子查询优化

  • 排序、分组优化

  • 覆盖索引优化

  • 慢查询日志

  • View视图

  • 主从复制

MyCat

  • 作用与原理

  • 安装启动

  • 搭建读写分离

  • 垂直拆分_分库

  • 水平拆分_分表

  • E-R表

  • 全局表

  • 全局序列

JVM

  • JVM快速入门

  • 类加载器ClassLoader

  • JVM结构划分详解

  • stack栈

  • 堆体系

  • 堆参数调优

  • OOM演示与解决

  • MAT工具的使用

  • IntelliJ IDEA分析dump文件

  • GC垃圾判定

  • 垃圾回收算法

  • 垃圾收集器

JUC

  • JUC概述

  • ReentrantLock可重入锁

  • ReentrantReadWriteLock读写锁

  • 线程间通信、虚假唤醒

  • 并发容器类

  • JUC辅助类CountDownLatch、CyclicBarrier、Semaphore

  • Callable接口

  • 阻塞队列(BlockingQueue)

  • ThreadPool线程池

  • java内存模型(JMM)

  • volatile关键字

  • CAS

  • AQS源码解析

Zookeeper

  • Zookeeper简介

  • Zookeeper的安装配置

  • Znode数据模型

  • Znode节点类型

  • Zookeeper四字命令

  • Java客户端操作

  • Zookeeper 集群原理

  • Zookeeper集群搭建

Dubbo

  • Dubbo核心概念

  • Dubbo环境搭建

  • Dubbo入门程序

  • Dubbo配置

  • 高可用解决方案

  • RPC原理

  • Dubbo原理框架设计

第十阶段:进阶(上)

(计算机科学的精华)

操作系统

  • 进程、线程

  • 进程 / 线程间通讯方式

  • 进程调度算法

  • 进程 / 线程状态

  • 死锁

  • 内存管理

计算机网络

  • HTTP / HTTPS 协议

  • 网络模型

  • UDP / TCP 协议

  • 网络安全

  • 域名解析

计算机组成原理

  • 系统概论

  • 数据的表示、运算

  • CPU子系统

  • 存储子系统

  • 总线与IO子系统

数据结构

  • 数组

  • 链表

  • 队列

  • 哈希表

    • 二叉树

    • 完全二叉树

    • 平衡二叉树

    • 二叉查找树(BST)

    • 红黑树

    • B、B+、B*树

    • LSM树

算法

  • 排序

  • 双指针

  • 查找

  • 分治

  • 动态规划

  • 递归

  • 回溯

  • 贪心

  • 位运算

  • DFS

  • BFS

第十阶段:进阶(下)

设计模式

  • 设计模式六大原则

    • 开闭原则:对扩展开放,对修改关闭,多使用抽象类和接口。

    • 里氏替换原则:基类可以被子类替换,使用抽象类继承,不使用具体类继承。

    • 依赖倒转原则:要依赖于抽象,不要依赖于具体,针对接口编程,不针对实现编程。

    • 接口隔离原则:使用多个隔离的接口,比使用单个接口好,建立最小的接口。

    • 迪米特法则:一个软件实体应当尽可能少地与其他实体发生相互作用,通过中间类建立联系。

    • 合成复用原则:尽量使用合成/聚合,而不是使用继承。

  • 23种常见设计模式

    • 创建型模式:对象实例化的模式,创建型模式用于解耦对象的实例化过程

      • 单例模式

      • 工厂方法模式

      • 抽象工厂

      • 建造者模式

      • 原型模式

    • 结构型模式:把类或对象结合在一起形成一个更大的结构

      • 适配器模式

      • 组合模式

      • 装饰器模式

      • 代理模式

      • 享元模式

      • 外观模式

      • 桥接模式

    • 行为型模式:类和对象如何交互,及划分责任和算法

      • 迭代器模式

      • 模板方法模式

      • 策略模式

      • 命令模式

      • 状态模式

      • 责任链模式

      • 备忘录模式

      • 观察者模式

      • 访问者模式

      • 中介者模式

      • 解释器模式

  • 应用场景

    • 单例设计模式

    • 集合框架中的迭代器设计就是迭代器设计模式

    • IO流中就是装饰者设计模式

    • Thread类和Runnable是代理模式

  • UML

架构设计

  • 分布式

    • 分布式理论

      • CAP

      • BASE

    • 分布式缓存

      • Redis

      • Memcached

      • Etcd

    • 一致性算法

      • Raft

      • 一致性哈希

    • 分布式事务

    • 分布式 id 生成

    • 分布式服务调用

    • 分布式存储

    • 分布式数据库

    • 分布式文件系统

    • 分布式协调

      • Zookeeper
    • 分布式监控

      • Prometheus
    • 分布式消息队列

      • RabbitMQ

      • Kafka

      • Apache Pulsar

    • 分布式日志收集

      • Elastic Stack

      • Loki

    • 分布式搜索引擎

      • Elasticsearch
    • 分布式链路追踪

      • Apache SkyWalking
    • 分布式配置中心

      • Apollo

      • Nacos

  • 高可用

    • 主从

    • 异地多活

    • 容灾备份

  • 高并发

    • 数据库

      • 分库分表

      • 读写分离

    • 缓存

      • 缓存雪崩

      • 缓存击穿

      • 缓存穿透

    • 负载均衡

      • 负载均衡算法

      • 软硬件负载均衡(2、3、4、7 层)

  • 云原生

    • K8S(Kubernetes)

      • 架构

      • 部署应用

      • 暴露服务

      • 动态扩缩容

  • 其他

    • 监控告警

    • 领域驱动设计

    • 应用安全

    • 线上故障分析

    • 服务网格

    • Serverless

猜你喜欢

转载自blog.csdn.net/qq_42898149/article/details/130794923