常见知识点总结

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 等主流框架 生态强大,兼容性极佳
相关推荐
u01091476011 小时前
CSS组件库如何快速扩展_通过Sass @extend继承基础布局
jvm·数据库·python
爱敲键盘的猴子11 小时前
JVM -- 内存模型(运行时数据区,垃圾回收机制)
jvm
baidu_3409988211 小时前
Golang怎么用go-noescape优化性能_Golang如何使用编译器指令控制逃逸分析行为【进阶】
jvm·数据库·python
m0_6784854511 小时前
如何利用虚拟 DOM 实现无痕刷新?基于 VNode 对比的状态保持技巧
jvm·数据库·python
qq_3422958211 小时前
CSS如何实现透明背景效果_通过RGBA色彩模式控制透明度
jvm·数据库·python
Greyson111 小时前
CSS如何处理超长文本换行问题_结合word-wrap属性
jvm·数据库·python
justjinji11 小时前
如何批量更新SQL数据表_使用UPDATE JOIN语法提升效率
jvm·数据库·python
weixin_5806140012 小时前
MySQL存储过程中如何防止SQL注入_使用参数化查询规范
jvm·数据库·python
2401_8371638912 小时前
PHP源码开发用台式机还是笔记本更合适_硬件选型对比【方法】
jvm·数据库·python
baidu_3409988212 小时前
mysql修改列名会导致程序报错吗_Change Column语法与兼容性
jvm·数据库·python