夜坐听风
  • 首页
  • 分类
  • 标签
  • 关于
  • 友链

栈和队列

[tOC] 栈 先进后出只能从栈顶访问和删除的数据结构,栈数据结构可以用于匹配分隔符以及大数相加的操作,可以用向量(数组)和链表的方式实现,其中链表的方式与抽象栈更匹配。在向量和链表形式的栈中,出栈操作的复杂度为O(1),在向量栈中最坏的入栈复杂度为O(n),而在链表栈中仍为O(1)。 单调栈 单调递增栈:单调递增栈就是从栈底到栈顶数据是从大到小 单调递减栈:单调递减栈就是从栈底到栈顶数据是从小
2025-10-26
02数据结构及算法

算法

算法 算法的分类 决定性算法:对于给定的输入只有一种方式能确定下一步采取的操作,如求一个集合的合只需要逐个相加并不需要进行猜测。非决定性算法:非决定性算法将问题分解成猜测和验证两个阶段。算法的猜测阶段是非确定性的,算法的验证阶段是确定性的,它验证猜测阶段给出解的正确性。如查找算法会先猜测数组中某个数,再验证其是否是需要查找的那个数。 需要解决的判定问题的分类 P问题:能够用决定性算法在多项
2025-10-26
02数据结构及算法

链表

链表的分类单向链表 Head → [A|→] → [B|→] → [C|→] → null 双向链表 Head ⇄ [A|⇄] ⇄ [B|⇄] ⇄ [C|⇄] ⇄ Tail 循环链表 分为单向和双向 Head → [A|→] → [B|→] → [C|→] → Head 跳跃链表 https://zhuanlan.zhihu.com/p/634954147 根据节点数量将链表分为多级,每个节
2025-10-26
02数据结构及算法

01-计算机网络

概述ISP 互联网服务提供商ISP(Internet Service Provider)可以从互联网管理机构获得许多IP地址,同时拥有通信线路和路由器等联网设备,个人或者机构向ISP缴纳一定的费用就可以接入互联网. 目前的互联网是一种多层次的ISP结构,ISP根据覆盖面积的大小分为第一层ISP,区域ISP和接入ISP.互联网交换点IXP允许两个ISP不经过第三个ISP直接项链. 主机
2025-10-26
03网络

02-传输层应用层

传输层UDP UDP是无连接的传输层协议; UDP使用尽最大努力交付,不保证可靠交付; UDP是面向报文的,对应用层交下来的报文,不合并,不拆分,保留原报文的边界; UDP没有拥塞控制,因此即使网络出现拥塞也不会降低发送速率; UDP支持一对一 一对多 多对多的交互通信; UDP的首部开销小,只有8字节 TCP 是一个可以提供可靠的,支持全双工、连接导向的协议 报文拆分 ->增加TCP
2025-10-26
03网络

常用命令

网络抓包分析tcpdump tcpdump将打印网络接口上与自己定义的布尔表达式相匹配的信息包的包头部分。 命令格式 tcpdump [ -DenNqvX ] [ -c count ] [ -F file ] [ -i interface ] [ -r file ] [ -s snaplen ] [ -w file ] [ expression ] 抓包选项 -c
2025-10-26
03网络

IO

网络IOBIO 同步阻塞IO 每连接一线程:每个客户端连接需要一个独立的线程处理,线程的创建和销毁开销较大。 应用进程被阻塞,直到数据从内核缓冲区复制到应用进程缓冲区中才返回。在阻塞的过程中,其它应用进程还可以执行,因此阻塞不意味着整个操作系统都被阻塞。因为其它应用进程还可以执行,所以不消耗 CPU 时间,这种模型的 CPU 利用率会比较高。 NIO 同步非阻塞模型 单线程处理多连接:基于Sel
2025-10-26
04Java

1内存分代模型和分配策略

垃圾收集器与内存分配策略对象存活的条件 对象的存活条件取决于其是否被可达性分析(Reachability Analysis)判定为“可达” JVM通过GC Roots作为起点,遍历对象引用链。若某个对象能被GC Roots直接或间接引用,则视为存活;否则,将被标记为可回收。 引用的概念 如果reference类型的数据中存储的数值代表的是另外一块内存的起始地址,就称这块内存代表着一个引用。引用不
2025-10-26
04Java > JVM

2垃圾收集器

垃圾收集器 可以搭配使用 Serial/Serial Old Serial/CMS ParNew/Serial Old ParNew/CMS Parallel Scavenge/Serial Old Parallel Scavenge/Parallel Old 其中Serial Old作为CMS出现”Concurrent Mod
2025-10-26
04Java > JVM

3Java内存区域

Java内存区域运行时数据区域 程序计数器 当前线程所执行的字节码的行号指示器。如果执行的是本地方法,计数器为空。每条线程都需要一个独立的程序计数器 唯一一个没有规定任何OutOfMemoryError情况的区域 为0时,可能在执行本地方法。 Java虚拟机栈 Java方法执行的内存模型:每个方法在执行的同时,都会创建一个栈帧(Stack Frame:方法运行时的基础数据结构)用于存
2025-10-26
04Java > JVM
1234…11
Hexo Fluid