Java后端知识体系
1. Java 语言<Java核心技术>
1. 基础语法
2. 面向对象
3. 常用API
4. 异常处理
5. 集合
6. IO
7. 多线程
8. 网络编程
9. 泛型
10. 反射
11. 注解
2.JVM <深入理解Java虚拟机>
1. 类加载机制 双亲委派
2. 字节码执行机制
3. JVM内存模型 堆 栈 方法区
4. GC回收
5. JVM性能监控与故障定位
6. JVM调优
3.多线程,锁 并发
<Java并发编程的艺术> <Java并发编程实战>
1. 并发编程基础
2. 线程池
3. 锁 乐观锁 悲观锁 互斥锁 共享锁 可重入锁 ,偏向锁 轻量级锁 CAS 与自旋锁
4. 并发容器
5. 原子类
6. JUC 并发工具类
4.网络编程
1. Socket API+多线程+网络模型/IO模型+IO复用
2. Netty
3. 进程间通信方式:信号量 管道,共享内存,socket
4. 五大IO模型:同步,异步,阻塞,非阻塞,信号驱动
5. 高性能IO两种模式: Reactor 和Proactor
6. IO复用机制:epoll.select,poll
5. 数据库/SQL
<SQL必知必会>,<高性能Mysql>
1. SQL语句 联表 聚合
2. Sql语句优化
3. 事务,隔离级别
4. 索引
5. 存储引擎
5. 数据结构与算法
<漫画算法>,<算法>
数据结构
1. 字符串
2. 数组
3. 链表
4. 栈
5. 队列
6. 二叉树
7. 红黑树
8. 堆
9. 哈希
算法
1. 十大排序
2. 查找,二分
3. 贪心
4. 分治
5. 动态规划
6. 回溯
6. 设计模式
<重学Java设计模式>
1. 单例
2. 工厂
...23种等
7.计算机网络
<重学Java设计模式>
1. 计算机网络:自顶向下方法》
2. HTTP、TCP、IP、ICMP、UDP、DNS、ARP
3. IP地址、MAC地址、OSI七层模型(或者 TCP/IP 五层模型)
4. HTTPS安全相关的:数字签名、数字证书、TLS
5. 常见网络攻击:局域网ARP泛洪、DDoS、TCP SYN Flood、XSS等
6. TCP协议(最重要) 三次握手、四次挥手 状态转换 TCP状态中TIME_WAIT 拥塞控制 快速重传、慢启动
7. TCP 如何实现可靠传输的(画外音:如何基于 UDP 实现可靠传输)
8. TCP 连接建立为什么不是两次握手(画外音:三次握手的充分必要性说明)
9. TIME_WAIT 的存在解决了什么问题,等待时间为什么是 2 MSL
10. 可靠传输 + 高效传输(流量控制和窗口管理)
11. HTTP、HTTPS 从 URL 输入到页面展现到底发生什么
12. 学习方法: 一个数据包是如何发送出去的
8. 操作系统
<现代操作系统>
OS四大模块理论知识
1. 进程管理与线程管理
2. IO与文件系统
3. 内存管理
4. 设备管理
了解Linux内核部分实现原理
5. 内存管理
6. 进程管理
7. 虚拟文件系统.
认知
8. 操作系统由哪些构成
9. 进程的状态、切换、调度
10. 进程间通信方式(共享内存、管道、消息)
11. 进程和线程的区别
12. 线程的实现方式(一对一、多对一等)
13. 互斥与同步(信号量、管程、锁)
14. 死锁检测与避免
15. 并发经典的问题:读者写者、哲学家就餐问题
16. 为什么需要虚拟内存,MMU 具体如何做地址转换的
17. 内存为什么分段、分页
18. 页面置换算法
19. 文件系统是如何组织的
20. 虚拟文件系统(VFS)是如何抽象的
9. 框架后端
1. JSP.servlet
2. Spring IOC AOP 自动配置,开销即用
3. SpringMVC
4. Mybatis
5. SSM war包 tomcat运行
6. SpringBoot jar包 内嵌Tomcat 整合Web 整合数据库 整合权限 shiro SpringSecurity
7. 各种中间件:缓存 MQ
8. RPC框架: Dubbo zk
9. NIO框架: Netty
10. Spring Cloud: zuul/Gataway Eureka ribbon hystrix feign/OpenFeign
11. Alibaba : Nacos Sentinel RocketMQ Dubbo Seata Config Bus Consul Security Sleuth Stream Task
12. 中间件 缓存: Redis RabbitMQ/RocketMQ/kafka
13. 搜索: ElasticSearch
10. 前端
1. 三剑客: HTml Css JavaScript
2. 基础库: JQuery ,Ajax
3. 模板框架 JSP Thymeleaf FreeMarker
4. 组件化框架: Node VUE React Angular
11.开发工具
开发环境
1. Eclipse
2. IDEA
3. VSCode
Linux系统
4. Linux常用命令
5. 基于Shell脚本
代码管理工具
6. Git Git命令和使用
7. SVN
项目管理/构建工具
8. Maven
9. Gradle
12.应用运维
1. Web服务器 Nginx
2. 应用服务器 Tomcat
3. 容器技术 Docker k8s
4. 持续集成,持续发布
5. 代码质量检测 Sonar 阿里规范插件
6. 日志收集,分析 ELK
7. CDN 加速