好好学习,天天向上
01
01
07
28
背包问题 背包问题
背包问题详解背包问题是动态规划领域的经典问题,核心思想是:在给定总容量/总预算限制下,如何选择物品,使得某个收益最大化。 物品有多种属性,在某一属性受限的情况下,另外属性能够获取的最大收益。根据物品的选择限制,背包问题主要分为三大类: 0
2023-07-28
28
遍历搜索算法 遍历搜索算法
遍历搜索算法图遍历是图算法的基础,主要有两种遍历方式:广度优先搜索(BFS)和深度优先搜索(DFS)。这两种算法在树、图的遍历、路径查找、连通性判断等问题中都有广泛应用。 广度优先搜索(BFS)基本概念广度优先搜索(Breadth-Fir
2023-07-28
28
MySQL 崩溃恢复流程详解 MySQL 崩溃恢复流程详解
MySQL 崩溃恢复流程详解MySQL 的崩溃恢复机制是保证数据一致性和持久性的核心功能。当数据库服务器异常关闭(如断电、系统崩溃)后,MySQL 能够在重启时自动恢复到崩溃前的状态,确保已提交的事务不丢失,未提交的事务能够回滚。本文将详细
2023-07-28
28
MySQL 日志详解 MySQL 日志详解
MySQL 日志详解MySQL 使用多种日志来保证数据的一致性、可恢复性和可追溯性。这些日志在 MySQL 的运行过程中起着至关重要的作用。本文将详细介绍 MySQL 中各种日志的功能、实现原理和配置方法。 一、错误日志(Error Lo
2023-07-28
28
单调栈 单调栈
单调栈简介单调栈(Monotone Stack)是一种特殊的栈数据结构,栈内元素(从栈底到栈顶)保持单调递增或单调递减的性质。 单调栈的核心思想是:在维护栈的单调性的同时,利用出栈操作来解决问题。当新元素入栈时,会将所有破坏单调性的栈顶元素
2023-07-28
03
31
linux-sed命令 linux-sed命令
sed(Stream Editor)是Linux中一个强大的流式文本编辑器,可以对文本进行非交互式的编辑。sed按行处理文本,支持正则表达式,可以进行查找、替换、删除、插入等操作。sed特别适合批量处理文本文件,是Linux系统中最常用的文
2023-03-31
03
golang 调度过程源码分析 golang 调度过程源码分析
golang 版本:go version go1.15.2 darwin/amd64 根据启动函数来分析golang MPG的生存周期,忽略cgo相关代码。 MPGMPG是golang调度的重要对象: M,表示一个内核线程,是执行用户代码
2023-03-03
03
golang MPG调度 golang MPG调度
MPGMPG是golang的并发模型,结构源码在runtime/runtime2.go里面,主体逻辑结构在runtime/proc.go里,是golang可以高并发的根本。 M,连接一个内核态的线程,goroutine跑在M上,每个M都会
2023-03-03
02
23
protocol buffer protocol buffer
简介Protocol Buffers (简称 Protobuf)是 Google 开源的一款跨语言,跨平台,扩展性好的序列化工具,相比于 XML 和 JSON 等流行的编码格式,Protobuf 的性能非常高。因此,Protobuf 的编码
2023-02-23
21
https流程 https流程
HTTPS 概述HTTPS(HyperText Transfer Protocol Secure)是 HTTP 的安全版本,通过 TLS/SSL 协议对 HTTP 数据进行加密传输,保证数据传输的安全性和完整性。 核心概念graph TB
2023-02-21
11
28
golang-panic golang-panic
概述panic 和 recover 是 Go 语言提供的错误处理机制。panic 用于触发运行时错误,recover 用于恢复 panic 并继续执行程序。 基本用法panic1234func example() { panic("s
2022-11-28
14 / 19