6.1k6 分钟

2025-01-15🌱上海: ☀️ 🌡️+4°C 🌬️↓14km/h 什么是用户态和内核态? # 总结分析 运行模式 权限级别 可执行操作 优势 用户态 较低 不能直接访问硬件或进行特权操作,需通过系统调用让内核执行敏感操作 安全性高,程序问题不影响操作系统稳定性 内核态 最高 可直接访问硬件资源并执行如内存管理、进程调度等特权操作 能高效管理硬件与系统资源 # 深入分析 其实简单来说内核态就是操作系统运行线程,用户态就是线程执行用户自己的程序 用户态不能直接使用系统资源,也不能改变 CPU 的工作状态,只能访问到用户程序自己的存储空间 内核态可以
16k15 分钟

# I/O 模型有哪些? # 总结分析 I/O 模型 特点 阻塞 I/O 调用 I/O 操作时进程阻塞,直到数据准备好或操作完成才继续执行 非阻塞 I/O I/O 操作不阻塞进程,数据未准备好立即返回错误或状态,进程可继续执行其他操作 I/O 多路复用 使用 select、poll、epoll 等系统调用,可同时等待多个 I/O 操作,有就绪的就进行处理 信号驱动 I/O 数据准备好时,内核发信号通知进程进行 I/O 操作,进程接收到信号后再读写数据 异步 I&#x
13k12 分钟

2025-01-15🌱上海: ☀️ 🌡️+4°C 🌬️↓14km/h # 线程和进程有什么区别? 比较项目 进程 线程 定义 资源分配的基本单位,可看作正在运行的程序实例,每个进程有独立内存空间(代码段、数据段、堆栈等),进程间相互独立 CPU 调度的基本单位,属于进程,一个进程可包含多个线程,线程共享进程内存空间和资源(如文件句柄、数据段),但有自己独立的栈和寄存器 资源消耗 创建时需分配独立内存空间和系统资源,创建与切换开销较大 共享进程资源,创建开销小,切换开销远小于进程切换 通信方式 因内存空间相互独立,进程间通信(IPC)复杂,需借助管道、消
14k12 分钟

2025-01-15🌱上海: ☀️ 🌡️+6°C 🌬️↓18km/h # TCP/IP 的四层模型是是么? # 什么是 TCP/IP 协议 TCP/IP 协议是一种网络体系模型的代名词,指的是多种协议的协议簇,即包含 TCP、IP、MAC、UDP、HTTP、FTP 等多种协议,它是四层网络模型,包含应用层、传输层、网络层、链路物理层(网络接口层),和 OSI 七层网络模型、五层网络模型略有区别,TCP/IP 四层模型可以说是 OSI 七层网络的简化版。如下图所示。 # 网络模型对应的设备及协议 # TCP/IP 分层讲解
22k20 分钟

2025-01-15🌱上海: ☀️ 🌡️+6°C 🌬️↓18km/h # 说说 TCP 的四次挥手 之前的文章已经提到相关概念,并且做了大概的讲解 具体可看 TCP 和 UDP 有什么区别? - 木子金又二丨的回答记录 - 面试鸭 - 程序员求职面试刷题神器 今天就详细分析下四次挥手的具体细节 # 为什么需要四次挥手? 建立一个连接需要三次握手,而终止一个连接要经过 4 次握手。这由 TCP 的半关闭 (half-close) 造成的。既然一个 TCP 连接是全双工 (即数据在两个方向上能同时传递), 因此每个方向必须单独地进行关闭。这原则就是当一方完成它的数据发送任务后就
17k15 分钟

2025-01-15🌱上海: ☀️ 🌡️+6°C 🌬️↓18km/h # TCP 和 UDP 有什么区别? TCP 提供了可靠、面向连接的传输,适用于需要数据完整性和顺序的场景 UDP 则提供了更轻量、面向报文的传输,适用于实时性要求高的场景。 (后序会具体分析讲解什么面向报文与面向连接) 区别总结: 特性 TCP UDP 连接方式 面向连接 无连接 可靠性 提供可靠性,保证数据按顺序到达 不可靠,不保证顺序或完整性 流量控制 / 拥塞控制 提供流量控制和拥塞控制 没有流量控制和拥塞控制 顺序保证 保证数据顺序 不保证数据顺序 头部大
8.9k8 分钟

2025-01-15🌱上海: ☀️ 🌡️+6°C 🌬️↓18km/h # HTTP 1.0 和 2.0 有什么区别? # 思维导图总结 # HTTP 协议层次结构图 # HTTP1.0 HTTP/1.0 是无状态、无连接的应用层协议。 HTTP 1.0 是首个在通讯中指定版本号的 HTTP 协议版本。该版本中,浏览器与服务器连接短暂,每次请求都要新建 TCP 连接,服务器处理完请求后即刻断开连接,且不跟踪客户、不记录过往请求,即每次与服务器交互都需新开连接 。 无连接:每次请求都要建立连接,需要使用 keep-alive 参数建立长连接、HTTP1.1 默
6.4k6 分钟

2025-01-15🌱上海: ☀️ 🌡️+6°C 🌬️↓18km/h # 常见的 HTTP 状态码有哪些? # HTTP 状态码都有什么? # 趣图解译 # HTTP 概述 HTTP 是获取 HTML 文档等资源的协议,是 Web 数据交换基础,属于客户端 — 服务器协议,由接受方(常为 Web 浏览器)发起请求,完整网页文档包含文本、布局描述、图片等多种资源 。 客户端与服务端之间通过交换一个个独立的消息(而非数据流)进行通信。由客户端发出的消息被称作请求(request),由服务端发出的应答消息被称作响应(response)。 20 世纪 90 年代设计出可
32k29 分钟

2025-01-15🌱上海: ☀️ 🌡️+6°C 🌬️↓18km/h # 谈谈你了解的最常见的几种设计模式,说说他们的应用场景 # 设计模式总览 设计模式总共有 23 种,同时又分为三大类: 创建型模式(Creational Patterns):这类模式主要关注对象的创建过程。它们分别是: 单例模式(Singleton) 工厂方法模式(Factory Method) 抽象工厂模式(Abstract Factory) 建造者模式(Builder) 原型模式(Prototype) 结构型模式(Structural Patterns):这类模式主要关注类和对象之间的组合
33k30 分钟

2025-01-15🌱上海: ☀️ 🌡️+6°C 🌬️↓18km/h # 单例模式有哪几种实现?如何保证线程安全? # 什么是单例模式? 单例设计模式(Singleton Design Pattern)理解起来非常简单。一个类只允许创建一个对象(或者实例),那这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。 单例模式属于创建型模式,这类模式主要关注对象的创建过程。 # 为什么要使用单例? # 1.1. 表示全局唯一 对于系统中应该且只能保存一份的数据,可设计为单例类,比如: 配置类:系统仅有一个配置文件,加载到内存后映射成唯一的【配置实例】,可选择使用