《计算机网络核心知识》
一、OSI 七层、TCP/IP 五层 网络模型对比 传输层及以下三层共四层协议不可更改,传输层协议之上的三层可以自己定义(统称应用层)。 OSI 七层模型 TCP/IP 五层模型 ┌─────────────┐ │ 应用层 │ ├─────────────┤ ┌─────────────┐ │ 表示层 ...
一、OSI 七层、TCP/IP 五层 网络模型对比 传输层及以下三层共四层协议不可更改,传输层协议之上的三层可以自己定义(统称应用层)。 OSI 七层模型 TCP/IP 五层模型 ┌─────────────┐ │ 应用层 │ ├─────────────┤ ┌─────────────┐ │ 表示层 ...
写在前面 最近在 LeetCode 上刷了不少题,慢慢摸索出了一些套路。整理了一份思维导图,把常见的算法技巧都归纳了一下。 算法技巧大纲 算法大纲 ├── 链表技巧 │ ├── 虚拟头节点(需要返回新链表的时候用) │ ├── 链表分解 │ └── 快慢指针 │ ├── 数组 │ ├── 快慢指针 │ │ ├── 滑动窗口(长短子串问题) │ │ └──...
一、内存区域 1. 运行时数据区域 JVM 内存可分为: 区域 线程共享/独立 说明 程序计数器 线程独立 当前线程所执行的字节码的行号指示器 虚拟机栈 线程独立 Java 方法执行的内存模型 ...
一、多线程基础 1. 并发带来的挑战 (1)上下文切换 CPU 通过时间片轮转算法来循环执行线程任务,需要切换任务时,在切换前会保存上一个任务的状态,以便下次切换回这个任务时,可以再加载这个任务的状态。所以任务从保存到再加载的过程就是一次上下文切换。 减少上下文切换的方法: 无锁并发编程 CAS 算法 使用最少线程 使用协程 (2)死锁 概念:一组进程中的每一...
一、HashMap HashMap 是 Java 中最常用的集合之一,理解其底层实现原理对于编写高效代码至关重要。 1. JDK 1.7 版本 (1)组成结构 数组 + 链表 的形式(链表主要为了解决哈希冲突而存在) 工作原理: HashMap 通过 key 的 hashCode 经过 hash 方法处理得到 hash 值 通过 (n - 1) & hash ...
一、面向对象 1. 对面向对象的认知 面向过程:遇到一个问题时,将解决问题的方法拆分成一个个函数和数据,然后按一定的顺序执行完。这是一个具体的、流程化的过程。 📝 举例:洗衣服的流程 先加洗衣粉 → 再加水 → 再把衣服扔进洗衣机 → 洗衣机洗衣 → 再烘干 面向对象:将解决问题的方法模型化、抽象化成对象。然后给这些对象赋予属性和方法,并让对象来执行这些操作。 ...
一、基本数据类型 Java 中的基本数据类型分为四大类: 数据类型分类 整数类型:byte、short、int、long 浮点数类型:float、double 字符类型:char(Unicode 编码中英文单个字符都占 2 个字节) 布尔类型:boolean(占 4 个字节,在布尔数值中占 1 个字节) 包装类型 每个基本类型都有对应的包装类型,转换由编译器自动...