1、静态成员
| 知识点 | 详细说明 |
|---|---|
| 本质 | 属于类,不属于任何一个对象,是所有对象共享的变量 |
| 内存位置 | 存放在全局 / 静态数据区 ,不占用对象内存空间 |
| 生命周期 | 程序启动时分配,程序结束时释放,全程存在 |
| 访问方式 | 1. 类名直接访问:类名::静态变量 2. 对象访问:对象.静态变量 |
| 共享特性 | 所有对象共用同一份数据,修改一处,全部生效 |
| 声明与定义 | 1. 类内声明 :static 类型 变量名; 2. 类外定义 / 初始化 (必须):类型 类名::变量名 = 值; |
| 与普通成员变量区别 | 普通成员:每个对象独立一份,随对象创建 / 销毁 静态成员:全类一份,独立于对象 |
2、DFS和BFS
| 算法 | 时间复杂度(邻接表) | 空间复杂度(最好 / 最坏) |
|---|---|---|
| DFS(递归) | O(V+E) | O(V) |
| BFS(队列) | O(V+E) | O(V) |
3、常用排序时间复杂度
| 排序算法 | 平均时间复杂度 | 最好时间复杂度 | 最坏时间复杂度 | 空间复杂度 | 稳定性 |
|---|---|---|---|---|---|
| 冒泡排序 | O(n2) | O(n) | O(n2) | O(1) | 稳定 |
| 选择排序 | O(n2) | O(n2) | O(n2) | O(1) | 不稳定 |
| 插入排序 | O(n2) | O(n) | O(n2) | O(1) | 稳定 |
| 希尔排序 | O(n1.3) | O(nlogn) | O(n2) | O(1) | 不稳定 |
| 快速排序 | O(nlogn) | O(nlogn) | O(n2) | O(logn) | 不稳定 |
| 归并排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(n) | 稳定 |
| 堆排序 | O(nlogn) | O(nlogn) | O(nlogn) | O(1) | 不稳定 |
| 计数排序 | O(n+k) | O(n+k) | O(n+k) | O(n+k) | 稳定 |
| 桶排序 | O(n+k) | O(n+k) | O(n2) | O(n+k) | 稳定 |
| 基数排序 | O(d(n+k)) | O(d(n+k)) | O(d(n+k)) | O(n+k) | 稳定 |
4、N/NP问题
| 分类 | 问题名称 | 说明 |
|---|---|---|
| P 问题(多项式可解) | 二分查找 | 时间复杂度 O(logn) |
| 快速排序 | 时间复杂度 O(nlogn) | |
| 归并排序 | 时间复杂度 O(nlogn) | |
| 冒泡排序 | 时间复杂度 O(n2) | |
| 插入排序 | 时间复杂度 O(n2) | |
| 选择排序 | 时间复杂度 O(n2) | |
| 最短路径 Dijkstra | 图论经典可解问题 | |
| 最小生成树 Kruskal/Prim | 图论经典可解问题 | |
| NP 完全问题(目前无多项式解法) | 旅行商问题 TSP | 经典 NPC 问题 |
| 哈密顿回路 / 路径 | 典型 NPC 问题 | |
| 0-1 背包问题 | 只能近似 / 动态规划 | |
| 子集和问题 | 典型 NPC | |
| 图着色问题 | 典型 NPC | |
| 顶点覆盖问题 | 典型 NPC | |
| 最大团问题 | 典型 NPC |
5、HTTP
HTTP 应答报文的结构分为三部分:状态行、响应头(报头)、空行、响应正文
| 结构部分 | 作用 | 示例 |
|---|---|---|
| 状态行 | 告知请求处理结果 | HTTP/1.1 200 OK |
| 报头(响应头) | 描述响应元信息 | Content-Type: text/html |
| 空行 | 分隔报头与正文 | (仅一个换行符) |
| 正文 | 实际返回的数据 | <html>...</html> |
6、string
| 核心优点 | 具体含义 | 一句话总结 |
|---|---|---|
| AOP 切面 | 面向切面编程,统一处理日志、事务、权限控制 | 交叉业务逻辑与核心代码分离 |
| IOC 解耦 | 控制反转 / 依赖注入,由容器管理对象生命周期 | 对象创建与依赖关系解耦 |
| 一站式 | 涵盖了持久层、Web 层、业务层等完整解决方案 | 全栈覆盖,一站式搞定 |
| 集成能力 | 无缝集成 MyBatis、Hibernate、Dubbo 等主流框架 | 生态强大,兼容性极佳 |