自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

严文文 Chris

人生不设限,越努力越美丽!

  • 博客(504)
  • 收藏
  • 关注

转载 【时间复杂度计算】

时间复杂度用于衡量算法执行时间随数据规模增长的变化趋势,常用大O表示法描述。核心原则是忽略低阶项和常数项,关注最高阶复杂度。

2025-05-08 10:30:22 12

原创 缓存替换算法与存储器管理的分页、分段、段页式管理联系

理解这些联系有助于在计算机体系结构(硬件)和操作系统(软件)层面统一优化存储性能。,但应用层级和具体场景不同。缓存替换算法与存储器管理的分页、分段、段页式管理在。上存在相似性,均涉及。

2025-05-07 10:16:41 351

原创 详解0-1背包的状态转移表

通过构建这个状态转移表,我们可以清晰地看到每一步是如何基于之前的结果做出决策的。动态规划的核心在于利用子问题的解来构建更大问题的解,避免重复计算。在0-1背包问题中,状态转移表直观地展示了在不同物品选择和不同背包容量下的最优解。

2025-05-07 10:15:09 736

原创 0-1背包问题基础概念

每个物品只能选或不选(即“0-1”),求在不超过背包容量的前提下,所能获得的。,否则会重复使用同一物品,变成“完全背包”问题。(0 个物品时,无论容量多少,价值都是 0)个物品中选取若干个,放入容量为。⚠️ **注意:**必须倒序遍历。的背包中所能获得的最大价值。二维数组空间复杂度为。,可以用一维数组降为。

2025-05-05 16:24:55 153

原创 介绍分治、动态规划、回溯分别是什么?有什么联系和区别?给出对象的场景和java代码?

分治适合问题可以被拆解为若干独立子问题的情形;动态规划适合问题具有重叠子问题和最优子结构;回溯适合在解空间中试探性地寻找满足条件的所有解,适合搜索类问题。是否需要我帮你画一张图来对比这三种算法的流程结构?

2025-05-05 15:32:09 424

原创 系统分析师-第十五章

通过参加考试,训练学习能力,而非单纯以拿证为目的。1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。2.从底层逻辑角度理解知识点,避免死记硬背。3.通过考试验证学习效果。

2025-04-30 19:24:34 383

原创 系统分析师-第十三、十四章

通过参加考试,训练学习能力,而非单纯以拿证为目的。1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。2.从底层逻辑角度理解知识点,避免死记硬背。3.通过考试验证学习效果。

2025-04-29 19:52:57 239

原创 【分治算法的分和治如何理解?如何判断使用分治算法解决问题?为什么分治可以提升算法效率,其底层逻辑是什么?】

问题解释「分」把大问题拆成小问题(结构清晰)「治」递归解决小问题,并合并结果适用条件子问题独立、可以合并提升效率的底层逻辑① 减少单次处理规模 ② 支持并行 ③ 快速递归到小规模分 → 小而易解;治 → 合而成解。小问题快,合并巧,大问题就迎刃而解!

2025-04-29 11:13:42 293

原创 汽车启动原理是什么?

(只有滚动),所以是静摩擦力。如果轮胎打滑(如冰面),就变成滑动摩擦,此时摩擦力减小,汽车难以启动。如果没有静摩擦力(如在完全光滑的平面上),车轮只会空转,汽车无法前进!汽车发动机(内燃机或电动机)工作时,会通过传动系统将动力传递到。同学们,今天我们来讨论汽车的启动原理,重点分析其中的。我会结合物理概念,用尽量直观的方式讲解。(前轮、后轮或四轮)。汽车能启动,核心在于轮胎与地面之间的。

2025-04-29 11:10:52 669

原创 分治和递归的区别?

递归是一种编程技巧:自己调用自己,解决问题。分治是一种算法思想:把大问题分成小问题分别解决,再合并。递归是形式,分治是思想。分治几乎靠递归来写,但递归不一定是分治。

2025-04-29 08:59:27 185

原创 系统分析师-第十一、十二章

通过参加考试,训练学习能力,而非单纯以拿证为目的。1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。2.从底层逻辑角度理解知识点,避免死记硬背。3.通过考试验证学习效果。

2025-04-28 16:56:04 314

原创 【prompt是什么?有哪些技巧?】

是用户输入给AI模型(如ChatGPT、GPT-4等)的指令或问题,用于引导模型生成符合预期的回答。它的质量直接影响AI的输出效果。:多测试不同Prompt,观察AI的输出差异,逐步迭代优化!

2025-04-25 20:18:04 690

原创 系统分析师-第九、十章

通过参加考试,训练学习能力,而非单纯以拿证为目的。1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。2.从底层逻辑角度理解知识点,避免死记硬背。3.通过考试验证学习效果。

2025-04-25 09:04:19 258

原创 大模型是如何生成内容的?

步骤描述1️⃣将输入文本切分成 token2️⃣利用 Transformer 理解上下文3️⃣预测下一个 token(词)4️⃣重复预测,直到生成完成🎲通过 sampling 策略控制风格和多样性。

2025-04-24 19:36:31 280

原创 【大模型有哪些训练阶段?】

大模型(如 GPT、BERT 等)训练一般可以分为以下,每个阶段都承担着不同的职责,共同推动模型从“语言新手”成长为“多任务专家”。

2025-04-24 19:35:32 280

原创 什么是回表?

回表是数据库查询中的一个术语,主要出现在使用索引的查询场景中。

2025-04-23 15:57:21 263

原创 系统分析师第七、八章

通过参加考试,训练学习能力,而非单纯以拿证为目的。1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。2.从底层逻辑角度理解知识点,避免死记硬背。3.通过考试验证学习效果。

2025-04-23 14:37:17 181

原创 【系统分析师-第五、六章总结】

通过参加考试,训练学习能力,而非单纯以拿证为目的。1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。2.从底层逻辑角度理解知识点,避免死记硬背。3.通过考试验证学习效果。

2025-04-19 20:57:44 411

原创 redis和lua为什么能实现事务

这种方案虽不如传统 ACID 事务严谨,但在高并发场景下提供了。能力,是 Redis 作为内存数据库的核心优势之一。Redis 结合 Lua 实现事务的能力,主要通过。三者的协同作用来实现。原生 Redis 事务(

2025-04-19 11:25:43 387

原创 【系统分析师-第三、四章】

通过参加考试,训练学习能力,而非单纯以拿证为目的。1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。2.从底层逻辑角度理解知识点,避免死记硬背。3.通过考试验证学习效果。

2025-04-19 08:31:30 281

原创 主键索引为什么不能为NULL?

理解这一限制有助于设计更健壮的数据库结构,避免在业务逻辑中出现标识不明确的情况。

2025-04-17 09:19:56 330

原创 【数据库索引的最佳实践】

索引是提高数据库查询性能的关键工具,但不当使用反而会降低系统性能。

2025-04-16 16:15:15 846

原创 覆盖索引和联合索引

联合索引是指由多个列组合构成的索引,也称为复合索引或多列索引。例如就是一个在列a、b、c上创建的联合索引。

2025-04-16 15:53:09 388

原创 【什么是索引下推?为什么产生索引下推?有索引下推和没有索引下推的区别?】

索引下推是指:👉将部分 WHERE 子句中的条件在索引扫描阶段提前过滤,避免无效回表。只利用索引的前缀列做索引扫描然后对符合前缀条件的记录回表(访问主键或整行数据)再去判断剩余的 WHERE 条件(可能会导致回表很多无效数据)MySQL 在索引扫描阶段就尽量判断更多的 WHERE 条件能提前过滤掉不满足的记录,减少回表次数项目有索引下推(ICP)无索引下推条件过滤位置索引扫描阶段提前判断回表后判断回表次数少(过滤掉不必要回表的数据)多(可能大量无用回表)查询效率高低。

2025-04-16 15:47:26 427

原创 聚簇索引和非聚簇索引是什么?区别是什么?

数据和索引是放在一起的:索引结构的叶子节点直接存储了数据行本身。数据的物理顺序与索引顺序一致:表中的数据行按照索引列排序。每个表只能有一个聚簇索引,因为数据只能有一种物理排序方式。主键适合使用聚簇索引。对于频繁查询但不需要排序的列,使用非聚簇索引。如果查询经常涉及多列组合搜索,考虑使用复合索引。如果你需要,我可以画一张聚簇与非聚簇索引的数据结构图来辅助理解。是否需要?

2025-04-16 14:58:40 411

原创 AI智能体小结

在人工智能中,“智能体(Agent)”指的是一个能够感知其所处环境,并基于目标做出决策并采取行动的实体。若该智能体具备某种智能(如学习能力、推理能力、规划能力等),我们就称之为AI智能体。著名的AI专家 Russell 和 Norvig 在其经典教材《Artificial Intelligence: A Modern Approach》中指出:“智能体是能够通过传感器感知环境,通过执行器对环境做出反应的实体。

2025-04-15 19:57:24 471

原创 【系统分析师之1、绪论+2、数学与工程基础】

通过参加考试,训练学习能力,而非单纯以拿证为目的。1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。2.从底层逻辑角度理解知识点,避免死记硬背。3.通过考试验证学习效果。

2025-04-15 19:48:00 245

原创 为什么哈夫曼编码不会有歧义?

原因说明哈夫曼编码是前缀码所有编码之间互不为前缀解码树有唯一路径每次从根节点走到叶子,就确定一个字符按位读取无歧义不会出现多种解释路径因此,哈夫曼编码即使是变长编码,也能安全、无歧义地解码。

2025-04-15 14:44:03 300

原创 【哈夫曼树和哈夫曼编码是什么?】

哈夫曼树是一种最优二叉树,用于构造最短的前缀编码。是一棵带权路径长度最短的二叉树。权值大的节点离根较近,权值小的节点离根较远。哈夫曼编码是基于哈夫曼树生成的一种无前缀编码(Prefix-Free Code)没有任何一个字符的编码是另一个字符编码的前缀。频率越高的字符,编码越短。频率越低的字符,编码越长。这样整体编码长度最短,实现压缩。概念哈夫曼树哈夫曼编码是什么最优二叉树基于哈夫曼树生成的前缀编码结构树结构,节点有权重编码表(字符 -> 二进制串)特点权重小的节点路径长。

2025-04-15 14:42:35 270

原创 InnoDB MVCC在READ COMMITTED与REPEATABLE READ下的关键区别

ReadView生成• RC每次查询新建,RR事务内复用数据可见性• RC看到最新提交,RR看到事务开始时的快照幻读处理• RC允许幻读,RR通过MVCC+间隙锁避免实践建议• 需要精确一致性选RR• 追求高并发且可接受非重复读选RC理解这些差异有助于根据业务需求选择合适的隔离级别,并在出现一致性问题时快速定位原因。

2025-04-15 14:20:27 847

原创 什么是索引?为什么使用索引?索引有哪些数据结构?如何使用索引?

索引(Index)是数据库中一种特殊的数据结构,类似于书籍的目录。它通过建立特定列(或列组合)的快速访问路径,帮助数据库系统高效定位数据,避免全表扫描。

2025-04-15 11:26:22 338

原创 InnoDB的MVCC实现原理?MVCC如何实现不同事务隔离级别?MVCC优缺点?

它通过保存数据在不同时间点的多个版本,让不同事务在同一时刻可以看到不同版本的数据,以此来减少锁竞争,提高数据库的并发性能,同时保证事务的隔离性。在不同的事务隔离级别下,InnoDB根据事务的开始时间和记录的隐藏列信息来判断哪些版本的数据对当前事务是可见的。事务会对读取的数据加共享锁,对写入的数据加排他锁,事务之间是串行执行的,避免了所有并发问题,但会导致并发性能极低。事务可以读取到其他事务未提交的数据,不会考虑数据版本的可见性规则,可能会出现脏读问题。这样,就可以保留数据的历史版本,供其他事务查看。

2025-04-14 15:21:16 712

原创 MVCC是什么?MVCC的作用是什么?MVCC实现方式有哪些?

MVCC(Multi-Version Concurrency Control,多版本并发控制)是数据库管理系统中的一种并发控制机制,它通过来实现和。

2025-04-14 14:50:17 798

原创 MySQL存储引擎:存储什么意思?引擎什么意思?存储引擎是什么?在MySQL中有什么作用?

••(将物品或信息放置在特定地方,以便后续使用)。◦ 例:粮食存储在仓库中。◦ 例:计算机将数据存储在硬盘里。••(如仓库、硬盘、内存等)。◦ 例:云存储、数据存储。在数据库(如MySQL)中,“存储”特指:•(如何写入磁盘)。•(表、行、列的物理结构)。••(将燃料转化为动力的机械装置)。◦ 例:汽车引擎、飞机引擎。•(任何系统中起关键作用的组件)。◦ 例:搜索引擎、游戏引擎。•:决定MySQL如何等。•• 汽车的“引擎”决定动力性能(燃油、电动)

2025-04-14 14:23:22 318

原创 事务是什么?有什么作用?mysql如何实现事务?

是数据库管理系统(DBMS)中的核心机制,用于确保一组数据库操作(如增删改查)的。

2025-04-14 10:35:09 856

原创 【系统分析师---考试题型总结】

通过参加考试,训练学习能力,而非单纯以拿证为目的。1.在复习过程中,训练快速阅读能力、掌握三遍读书法、运用番茄工作法。2.从底层逻辑角度理解知识点,避免死记硬背。3.通过考试验证学习效果。

2025-04-12 19:03:14 398

原创 HotSpot虚拟机中对象的访问定位机制是怎样的?

由于直接指针要求引用直接指向对象地址,当GC移动对象(如复制算法、压缩过程)时,所有指向该对象的引用必须更新。通过对象头的Klass Pointer找到类元数据,进而定位方法代码(JIT编译后直接内联方法地址)。这种方式以性能优化为核心,结合内存布局和运行时机制,确保高效的对象数据访问。实现对象的快速定位,其核心设计权衡了内存效率、访问速度与GC成本。虚拟机栈中的引用(局部变量、操作数栈中的对象引用)直接存储对象在堆中的内存地址。在HotSpot虚拟机中,对象的访问定位主要通过。HotSpot虚拟机通过。

2025-04-12 15:44:14 880

原创 【为什么预分配堆内存区域(如TLAB)可以减少或避免CAS竞争?】

来保证线程安全,而通过预分配堆内存区域(如TLAB),JVM能够显著减少CAS竞争,从而提升性能。在Java虚拟机(JVM)中,内存分配是多线程高并发场景下的关键操作。传统的内存分配方式需要频繁使用。在多线程环境中,所有线程共享堆内存。,将高频的全局CAS竞争转化为低频的TLAB申请操作,从而显著降低同步开销。这种设计使得JVM能够在大规模多线程应用中(如电商系统、实时数据处理)保持高吞吐量和低延迟。TLAB是JVM为每个线程预先分配的一小块堆内存区域。预分配堆内存区域(如TLAB)通过。

2025-04-12 14:42:13 862

原创 CAS是什么,以及它在内存分配中的作用?线程在分配内存时为什么会发生竞争?预分配堆内存区域是如何解决这个问题的?

在高并发场景下,TLAB + CAS 的组合使JVM的内存分配效率提升数十倍,支撑了Java在大规模分布式系统中的高性能表现。在JVM中,内存分配(尤其是堆内存分配)是多线程高并发场景的典型应用。,用于实现多线程环境下的无锁同步。(Compare-And-Swap)是一种。

2025-04-12 14:39:46 769

原创 【Hotspot虚拟机创建对象的过程是什么样的?】

等优化策略,平衡性能与安全性。理解这一过程有助于优化代码(如减少大对象创建)和排查内存问题(如OOM)。Hotspot虚拟机通过。的流程创建对象,结合。

2025-04-12 14:26:53 534

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除