常见知识点总结

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 等主流框架 生态强大,兼容性极佳
相关推荐
Escalating_xu1 小时前
【System V 信号量】从 P/V 原语到 Builder 封装:写出可控、可清理的进程互斥组件
java·linux·开发语言·jvm
HEJOO94 小时前
JVM 参数调优实战指南
jvm
码农哈丁6 小时前
从 JVM 到 Cargo:把整个 Kotlin 项目移植到 Rust 的踩坑实录
jvm·rust·kotlin
User_芊芊君子8 小时前
sbt 鸿蒙 PC 适配全记录:从 JVM 构建工具到 HAP_HNP 交付闭环
jvm·华为·harmonyos
小范的技术工坊8 小时前
每日一题gogogo
jvm
天空之城--1 天前
Flutter Drift 完全指南:从原理到实战
jvm·flutter·oracle
xiaohua10091 天前
JVM内存优化-jemalloc
java·jvm
Escalating_xu1 天前
【mmap 进程间通信】从共享内存到跨进程唤醒:用互斥锁、条件变量控制多个进程
java·linux·开发语言·jvm
雪落漂泊1 天前
C++智能指针
开发语言·jvm·c++
落魄大学生之流水线上谋生计1 天前
JVM内存结构、垃圾回收算法与类加载机制详解
jvm·算法