Java 后端技术体系梳理
第一部分:Java 基础
第一部分:Java基础
-
第一阶段:内容清单
- Java概述
- 变量
- 运算符
- 控制结构
- 数组,排序,查找
- 面向对象编程(基础)
- 面向对象编程(中级)
- 项目&学以致用||编程之乐
- 零钱通
- 房屋出租系统
- 迷宫问题
- 八皇后问题
- 汉诺塔问题
- 目标:建立编程思想
- Java概述
- 如何快速学习Java技术
- Java历史
- Java特点
- Sublime
- Java运行机制
- JDK
- 转义字符
- Java开发规范
- JavaAPI
- 变量
- 数据类型
- 变量的基本使用
- 数据类型转换
- 运算符
- 运算符介绍
- 算数运算符
- 关系运算符
- 逻辑运算符
- 赋值运算符
- 三元运算符
- 优先级
- 二进制
- 位运算符
- 控制结构
- 顺序
- 分支(if~else, switch)
- 循环(for,while,do while)
- Break
- Continue
- Return
- 数组、排序、查找
- 数组
- 排序
- 查找
- 面向对象编程(基础)
- 类和对象
- 成员方法
- 成员方法传参机制
- Overload
- 可变参数
- 作用域
- 构造器
- this
- 面向对象编程(中级)
- 包
- 访问修饰符
- 封装
- 继承
- 多态
- Super
- Overwrite
- Object类详解
- 断点调试
-
第二阶段: 内容清单
- 提升编程能力
-
第三阶段:内容清单
- 分析需求,提升代码能力
-
变量
-
控制结构
- 顺序结构
- 分支
- 循环
-
OOP
- 封装
- 继承
- 多态
-
数组
-
Java API
-
异常和处理
-
集合
-
泛型
-
IO
-
反射
-
网络通讯
第二部分:Java 高级
1.Java 多线程/高并发
-
并发基础
- 互斥同步
- 非阻塞同步
- 指令重排
- Synchronized
- volatile
-
线程
-
锁
- 自旋锁
- 偏向锁
- 可重入锁
-
线程池
-
并发容器
-
JUC
- Executor
- Collections
- atomic(原子类)
- tools(CountDownLatch,Exchanger,ThreadLocal,CyclicBarrier)
2.数据结构与算法
-
数据结构(8种数据结构)
- 数组(稀疏数组)
- 队列
- 链表
- 栈
- 树
- 散列
- 堆
- 图
-
算法
-
排序(8种)
-
查找
-
分治
-
动态规划(背包问题)
-
回溯(骑士周游问题)
-
贪心算法
-
KMP
-
Prim
-
克鲁斯卡尔算法 kruskal
-
佛洛依德算法 floyd-最短路径
-
迪杰斯特拉算法-最短路径
-
3.设计模式(23种)
- 单例模式
- 观察者模式
- 工厂模式
- 适配者模式
- 装饰者模式
- 代理模式
- 模板模式
- 职责链模式
- 其它(组合模式,桥接模式,原型模式……)
4.JVM
- JVM 体系
- 类加载过程/机制
- 双亲委派机制/沙箱安全机制
- JMM (Java内存模式)
- 字节码的执行过程/机制
- GC(垃圾回收算法)
- JVM的性能监控和故障定位
- JVM调优
第三部分:Java Web
1.前端基础
- HTML
- CSS
- JavaScript
- Ajax
- Jquery
2.前端框架
前端框架可以弱化
- Vue.js
- React
- Angular
- Bootstrap
- Node.js
3.Java Web后端
- Tomcat
- Servlet
- JSP
第四部分:主流框架和项目管理
-
Linux 操作系统(必学必会)
-
Nginx(做反向代理的Web服务器)
-
SSM
- Spring(轻量级的容器框架)
- SpringMVC(分层的web开发框架)
- Mybatis(持久化框架)
-
项目管理
- Maven
- Git&Github
SVN
-
数据库
- Redis
- MySQL
- Oracle
-
其他框架
- WebService [即SOA]
- Activiti (工作流框架/引擎)
- Shiro(安全框架)
- Spring Security(安全框架)
- JPA (持久化)
- SpringData(是持久层的通用型解决方案)
第五部分:分布式 微服务 并行架构
-
Netty
-
Dubba(阿里巴巴不开源的RPC框架)
-
FastDES(分布式的文件系统)
-
Docker(应用容器引擎)
-
Spring家族
-
SpringBoot
-
SpringCloud(组件库,组件很多)
- Nacos(阿里巴巴 服务发现,配置,管理)
- Seate(阿里巴巴 分布式事务的中间件)
- Sentinel(阿里巴巴,流量控制熔断,系统负载保护)
- GateWay(网关 限流,日志,监控,鉴权)
- OpenCloud(服务间调用)
-
搜索引擎
ElasticSearch
Solr
中间件
- MyCat(数据库中间件,分库分表)
消息中间件
- ActiveMQ
- RabbitMQ
- Kafka
日志分析与监控(ELK)
- ElasticSearch (搜集,存储数据)
- LogStash(分析日志)
- Kibana(可视化)
Zookeepr(一致性服务:比如 配置维护,域名维护,分布式服务)
第六部分:开发运维一体化技术(DevOps)
|| 自动化部署管理项目
- k8s(让部署容器化的应用简单高效)
- 普罗米修斯(Prometheus)【系统监控和报警】
- Jenkis(监控持续的工作【部署,集成,交付】)
- Harbor(容器的镜像仓库)
- Gitlab
- 项目工程代码质量检测(SonarQube)
第七部分:大数据技术(可以弱化)
- Hadoop
- Hive
- Implas
- Sqark
- Fink
第八部分:项目
- 电商
- 金融
- 教育
- 直播
- CRM,ERP
- 三个比较大的项目
第九部分:大厂的高频面试题
一些详细的Java学习资料
第十部分:底层源码/内核研究
编程基础的扩展(科班)
- 计算机网络
- 操作系统
- 编译原理
- 离散数学
- 数值分析
- 计算机组成原理
- 汇编语言
韩顺平老师的学习资料,可以找我免费获取。 hogmppaugb.feishu.cn/wiki/O2u0wh…