前言:过往学习的知识,随着时间推移总是容易忘记,所以搜集了网上部分大神的思维导图并整理了一下(各个知识点目前尚未整理完善),随着这个学习路线去复习和学习,并整理各个知识点,帮助自己更好记忆知识点,同时也方便往后对相关知识点的查询和回顾。
编程基础
Java语言
-
语言基础
-
基础语法
- 关键字
- 标识符
- 运算符
- 字面量
- 分隔符
-
面向对象(OOP)
-
接口(interface)
-
枚举(enumeration)
- 状态机
- 错误码
- 组织枚举
- 策略枚举
- 枚举工具类
-
泛型/容器(collection/generic)(集合框架)
-
泛型
-
容器
-
Collection
-
List
- Arraylist
- LinkedList
-
Set
- HashSet
- TreeSet
- 内置比较器(Comparable)
- 外置比较器(Comparator)
-
Queue
- 离散事件类型
-
-
Map<K,V>
-
HashMap
-
TreeMap
-
-
-
容器的遍历
-
for循环
-
for-each循环
-
Iterator (迭代器)
-
ListIterator(功能更强大)
-
Enumeration(遗留容器的迭代器)
-
-
工具类
- Arrays
- Collections
-
遗留容器
-
Vector
- Stack
-
Dictionary
-
Hashtable
- Properties
-
-
BitSet
-
-
-
异常(exception)
-
反射(reflection)
-
注解
-
I/O
-
Java1.8新特性
- Lambda表达式
- 函数式接口
- Stream
-
JVM
- 类加载机制
- 字节码执行机制
- JVM内存模型
- GC垃圾回收机制
- JVM性能监控与故障定位
- JVM调优
-
并发/多线程
- 并发编程基础
- 锁
- 并发容器
- 原子类
- JUC并发类工具
数据结构和算法
-
数据结构
-
线性表
-
数组
-
链表
- 单链表
- 双向链表
- 循环链表
- 双向循环链表
- 静态链表
-
栈
- 顺序栈
- 链式栈
-
队列
- 普通队列
- 双端队列
- 阻塞队列
- 并发队列
- 阻塞并发队列
-
-
散列表
-
散列函数
-
冲突解决
- 链表法
- 开放寻址
- 其他
-
动态扩容
-
位图
-
-
树
-
二叉树
-
平衡二叉树
-
二叉查找树
-
平衡二叉查找树
- AVL树
- 红黑树
-
完全二叉树
-
满二叉树
-
-
多路查找树
- B树
- B+树
- 2-3树
- 2-3-4树
-
堆
- 小顶堆
- 大顶堆
- 优先级队列
- 斐波拉契堆
- 二项堆
-
其他
- 树状数组
- 线段树
-
-
图
-
图的存储
- 邻接矩阵
- 邻接表
-
拓扑排序
-
最短路径
-
关键路径
-
最小生成树
-
二分图
-
最大流
-
-
-
算法
-
复杂度分析
-
空间复杂度
-
时间复杂度(大O法)
- 最好
- 最坏
- 平均
- 均摊
-
-
排序
-
O(n²)
- 冒泡排序
- 插入排序
- 选择排序
- 希尔排序
-
O(nlogn)
- 归并排序
- 快速排序
- 堆排序
-
O(n)
- 计数排序
- 基数排序
- 桶排序
-
-
搜索
- 深度优先搜索(DFS)
- 广度优先搜索(BFS)
- A*启发搜索
-
查找
- 线性表查找
- 树结构查找
- 散列表查找
-
字符串匹配
- 朴素算法
- KMP算法
- Robin-Karp
- Boyer-Moore
- AC自动机
- Tire
- 后缀数组
-
其他
- 数论
- 计算几何
- 概率分析
- 并查集
- 拓扑网络
- 矩阵运算
- 线性规划
-
常用算法思想
- 二分查找算法
- 分治算法
- 动态规划算法 —— 背包问题
- KMP算法 —— 字符串匹配
- 贪心算法 —— 集合覆盖问题
- Prim算法 —— 修路问题
- Kruskal算法 —— 公交站问题
- Dijkstra算法 —— 最短路径问题
- Floyd算法 —— 最短路径
- 马踏棋盘算法
-
计算机网络
- ARP协议
- IP/ICMP协议
- TCP/UDP协议
- DNS/HTTP/HTTPS协议
- session/Cookie
数据库/SQL
- SQL语句书写
- SQL语句优化
- 事物及隔离级别
- 索引
- 锁
操作系统
- 进程/线程
- 并发/所
- 内存管理和调度
- I/O原理
设计模式
- 单例
- 工厂
- 代理
- 策略
- 模板方法
- 观察者
- 适配器
- 责任链
- 建造者
运维知识
Web服务器 —— Nginx
应用服务器 —— Tomcat/Jetty/undertow…
CDN加速
持续集成/持续发布 —— Jenkins
代码质量检查 —— sonar
应用框架
研发工具
集成开发环境
- Eclipse
- intellij IDEA
- VS Code
Linux系统
- Linux常用命令
- 基本Shell语法
代码管理工具
- Git
- SVN
项目管理/构建工具
- Maven
- Gradie