- 博客(76)
- 收藏
- 关注
原创 【Python】循环和序列
本文介绍了Python中列表(List)和元组(Tuple)的基本操作及常用方法。主要内容包括:列表的创建、访问、修改、删除等基础操作,以及append、extend、sort等常用方法;元组的不可变特性及count、index等方法;循环遍历的多种方式(for循环、嵌套循环、range、enumerate等);列表推导式、filter、map等高阶函数应用;以及lambda匿名函数的使用。文章通过代码示例详细演示了各种数据结构操作的具体实现方式,为Python数据处理提供了实用参考。
2026-04-17 11:15:13
48
原创 【Python】Python基础
这篇文章主要介绍了Python基础语法和常用数据类型。内容包括:1)变量声明与注释方法;2)常见数据类型(整数、浮点数、布尔值、字符串、列表、元组、字典等);3)字符串操作(切片、格式化、转义、常用方法如upper()/split()等);4)数值运算和类型转换;5)流程控制(if判断);6)作用域规则;7)输入输出函数。文章通过具体代码示例展示了Python的基本语法规则和数据类型操作方法,适合初学者快速了解Python编程基础。
2026-04-17 11:04:01
148
原创 大模型基本概念
本文介绍了大语言模型(LLM)的基础概念和应用框架。主要内容包括:1. LLM基础知识,包括token处理、上下文窗口、工具调用等核心概念;2. Agent智能体的构建,结合LLM与工具实现任务自动化,详细说明了ReAct和Plan-and-Execute两种工作模式,并提供了Python实现代码;3. 上下文工程(Context Engineering)的管理方法,包括上下文选择、压缩和隔离策略;4. RAG(检索增强生成)技术,通过分片、索引、召回、重排等步骤实现高效信息检索和回答生成。
2026-04-17 10:47:23
227
原创 【Linux】网络基础概念
本文系统介绍了计算机网络的基础知识,主要内容包括:1. 网络发展历程:从独立计算机到互联网络,再到局域网和广域网的演进过程,强调网络发展的必然性。2. 网络协议核心概念:详细解释了协议的定义、分层结构(OSI七层和TCP/IP五层模型)、各层功能及协议栈的工作原理。3. 数据传输机制:着重阐述了数据封装与解封过程,包括报文结构、报头作用以及不同协议层的数据单元(段、报、帧)。4. 地址管理:对比分析了IP地址和MAC地址的区别与联系,说明它们在网络通信中的不同作用。5. 局域网传输
2025-09-08 09:59:15
910
原创 EfficMultiCoreMemoryPool项目
本文介绍了一种高效的多核内存池实现方案,包括定长内存池、线程缓存(ThreadCache)、中心缓存(CentralCache)和页缓存(PageCache)三级架构。定长内存池通过自由链表管理内存碎片,解决malloc碎片问题;ThreadCache为每个线程独享的无锁缓存;CentralCache通过共享SpanList管理内存块;PageCache按页管理大块内存并支持合并。项目采用基数树优化映射查询,测试表明性能优于malloc,尤其在高并发场景。文章详细阐述了各级缓存的设计原理、内存分配/释放流程
2025-05-29 20:25:47
1190
原创 【Linux】线程POSIX信号量
本文介绍了信号量的概念及其在多线程编程中的应用。信号量主要用于同步操作,确保无冲突地访问共享资源。POSIX信号量可用于线程间同步,本质是一个计数器,用于预定特定资源。文章详细说明了信号量的基本接口,包括初始化、P操作(申请资源)、V操作(释放资源)和销毁信号量。此外,文章还通过生产者消费者模型的实例,展示了如何利用信号量和互斥锁实现线程间的同步与互斥,特别是在多生产者多消费者场景中,如何通过信号量筛选有效线程,避免死锁,并保证操作的原子性。最后,文章提供了一个基于环形队列的生产者消费者模型的代码实现。
2025-05-10 11:19:19
901
原创 【Linux】线程的同步与互斥
本文深入探讨了线程互斥与同步的概念及其在多线程编程中的应用。首先,文章回顾了互斥的基本概念,包括临界资源、临界区、互斥和原子性,并通过抢票系统的代码示例展示了多线程环境下数据不一致的问题。接着,文章引入了互斥锁(Mutex)的概念,详细介绍了其接口、使用方法以及如何通过加锁机制解决数据竞争问题。此外,文章还探讨了条件变量(Cond)的使用,解释了如何通过条件变量实现线程的同步,避免线程饥饿现象。最后,文章介绍了生产者/消费者模型,并通过阻塞队列(BlockingQueue)的实现展示了如何在实际应用中结合互
2025-05-10 11:02:54
1187
原创 【Linux】操作系统的理解/进程/环境变量/虚拟地址空间
Linux系统中,OS必定需要对内存中的可执行程序进行一个管理:先描述,在组织OS对一个程序的描述使用的是一个名为task_struct(Linux下PCB的名称)结构体,我们将其称作为一个进程控制模块PCB(process control block)进程就是:PCB+程序的数据代码对进程的管理也变化为对程序列表的管理,增删查改这个列表即可!进程的所有属性都可以通过task_struct(PCB)找到内容分类• 标示符:描述本进程的唯⼀标示符,⽤来区别其他进程。
2025-02-11 19:09:53
817
1
原创 【MySQL-8】MySQL视图/用户管理
视图就是一个虚拟表,它可以将我们select语句查询的结果创建并且存储在一个新的虚拟表(视图)中,并且这个虚拟表和原表之间的关系相连密切,无论修改哪一方都会影响另一方。order by 可以用在视图中,但是如果从该视图检索数据 select 中也含有 order by ,那么该视图中的 order by 将被覆盖视图可以和表一起使用。创建视图数目无限制,但要考虑复杂查询创建为视图之后的性能影响视图不能添加索引,也不能有关联的触发器或者默认值。: 代表本系统中的所有数据库的所有对象(表,视图,存储过程等)
2025-02-11 11:43:55
1058
原创 【C++】Unordered_map/Unordered_map使用哈希表封装
本次的封装实现基于上次实现完成的链地址法的哈希表,使用哈希桶对unordered_map/unordered_set进行封装
2024-12-08 20:05:41
948
原创 【MySQL-6】MySQL的复合查询
在实际应用中,为了合并多个select的执行结果,可以使用集合操作符 union,union all。显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(不包含自己部门的员工)查询和10号部门的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包含10自己的。这里要用到数据查询的技巧,把一个子查询当做一个临时表使用。显示员工FORD的上级领导的编号和姓名(mgr是员工领导的编号--empno)指嵌套语句中返回单个子查询结果,如下面问题的deptno。查询的条件有多个,返回多列条件。
2024-11-30 18:43:24
1364
原创 【C++】Set/Map使用红黑树封装
stl库中通过这种巧妙的方法使我们只需要我们实现一棵红黑树就可以复用形成set/map的底层,通过模版的形式让编译器去帮我们生成对应的代码,泛型思维。由以下代码我们可以分析出stl库中的set和map底层都是通过红黑树所实现的。
2024-11-13 16:20:32
718
原创 【C++】二叉搜索树的概念与实现
⼆叉搜索树中可以⽀持插⼊相等的值,也可以不⽀持插⼊相等的值,具体看使⽤场景定义:map/set/multimap/multiset系列容器底层就是⼆叉搜索树,其中map/set不⽀持插⼊相等 值,multimap/multiset⽀持插⼊相等值。⼆叉搜索树⼜称⼆叉排序树,它或者是⼀棵空树,或者是具有以下性质的⼆叉树: 左子树的值默认小于根节点,右子树的值默认大于根节点。我们统计一个书中相同单词的个数,Key就是这个单词,而value表示单词的个数。走后序遍历进行析构delete。
2024-10-14 21:19:38
550
2
原创 【C++】适配器stack/queue/priority_queue使用和实现
stack/queue/priority_queue的使用和实现
2024-10-09 16:44:06
1096
2
原创 【C++】c++的继承
基类和派生类又可以称作父类和子类,派生类可以继承基类中的成员,并且还可以拥有自己的成员,就好比植物是一个大类,而蒲公英也是一种植物拥有植物的特性(也就是植物类的成员属性),同时蒲公英也拥有自己的其他特点,如传播种子的方式;所以基类和派生类的关系如下图: 我们之前学习过每个类域都有着不同的成员,如public,protected,private。对于公共的成员public不管是类域内还是外都可以访问,对于后面两者只有在类域才可以访问,同样的是基类和派生类之间的基础方式也存在这种关系! 基类成员不希望外部访问,
2024-09-14 12:11:48
1462
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅