自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 爬虫实战记录

爬虫。

2023-12-28 15:18:56 866

原创 LLM大底层架构之LLM模型结构

LLM大底层架构之LLM模型结构。

2023-12-14 18:22:05 174 1

原创 计算机架构

InterX86架构。

2023-12-14 18:19:44 52 1

原创 【brpc】bthread源码分析--执行流程

可以看到,二者很类似,都是先去获取了一个TaskGroup指针类型的变量g,然后根据g是否为null执行不同的逻辑。这里就涉及到bthread的taskgroup的概念,taskgroup的字面意思是任务组,一个taskgroup对应一个worker,所有的taskgroup由一个task_control的单例控制。

2023-12-11 18:49:18 77

原创 【brpc】bthread源码分析--重点组件

bthread是百度开源的一种轻量级高可靠线程库,常用于替代pthread进行线程编程。此函数会等待线程执行完成,并回收线程资源。bthread也提供了其他一些常用的函数,如互斥锁(bthread_mutex_t)、信号量(bthread_sem_t)等等,可以根据需要进行使用。需要注意的是,bthread只能在Linux环境下运行。总的来说,bthread具有编程简单、高可靠性、高性能等特点,适合于对线程编程有一定了解的开发者进行使用。

2023-11-07 16:17:16 95

原创 bthread分析

bthread

2022-11-24 18:06:20 53

原创 【leveldb源码分析】

leveldb源码分析并发迭代器Snapshot数据块缓存布隆过滤器基础库areaWALMemtableSSTableB+树对比CompactionManifest文件Current文件功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入Markdown。

2022-11-03 11:06:32 49

原创 【es源码】es调用原理

【es源码】es调用原理。

2022-07-21 20:23:32 843

原创 mysql笔记整理

上文提到了InnoDB删除一个行记录时,并不是立刻物理删除,而是将该行数据的DB_TRX_ID字段更新为做删除操作的事务ID,并将删除位deleted_bit设置为true(已删除),将其放入update undo log中。为了节省磁盘空间,InnoDB有专门的purge线程来清理deleted_bit为true的记录。purge线程自己也维护了一个read view,如果某个记录的deleted_bit为true,并且DB_TRX_ID相对于purge线程的read view可见,那么这条记录一定是可以

2022-06-12 14:39:26 87

原创 【lucene原理解析】

包含字段名和字段值,许多查询子类记录前n个结果采用Tika框架对PDF、XML、HTML文档进行处理大小写转换、停用词、词干提取每档writer刷新缓存区的文档、挂起目录删除文档时候,会创建新段。IndexWriter周期性段合并MergePolicy类负责选择哪些需要合并的段。MergeScheduler类负责执行具体合并的操作。...

2022-06-10 17:38:08 117

原创 linux内核设计与实现

用户空间的栈可以分配大量空间,动态增长。内核空间的栈64位机器只有16KB。进程: 可执行代码、数据段、打开的文件、挂起的信号、地址空间和一组执行线程。线程:程序计数器、进程栈、进程寄存器内核调度的对象是线程。task_struct: 包含进程的所有信息、打开的文件、挂起的信号、地址空间和一组执行线程。task_list: 任务队列,双线循环列表,每一项存放task_struct.通过slab分配器、pid标记进程,最大32767等待运行阻塞僵死停止可执行文件载入进程空间运行代码。li

2022-06-09 23:52:34 148

原创 【系统设计】限流

架构设计限流限​流算法令牌桶令牌桶算法是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌。可以控制流量也可以控制并发量,假如我们想要控制 API 网关的并发量最高为 1000,可以创建一个令牌桶,以固定的速度往桶里添加令牌,超出了 1000 则不添加。当一个请求到达之后就从桶中获取一个令牌,如果能获取到令牌就可以继续往下请求,获取不到就说明令牌不够,并发量达到了最高,请求就被拦截。漏桶漏桶是一个固定容量的桶,按照固定的速率流出,可以以任意的速率流入到漏桶中,超出了漏桶的容量就被丢弃,总容量

2022-05-27 00:23:38 80

原创 kafka面试总结

1. 为什么要使用 kafka,为什么要使用消息队列缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用,把消息暂存在kafka中,下游服务就可以按照自己的节奏进行慢慢处理。解耦和扩展性:项目开始的时候,并不能确定具体需求。消息队列可以作为一个接口层,解耦重要的业务流程。只需要遵守约定,针对数据编程即可获取扩展能力。冗余:可以采用一对多的方式,一个生产者发布消息,可以被多个订阅topic的服务消费到,供多个毫无关联的业务使用。健

2022-05-24 23:23:02 383

原创 zk笔记总结

ZooKeeper 是一个开源的分布式协调服务。它是一个为分布式应用提供一致性服务的软件,分布式应用程序可以基于 Zookeeper 实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。Zookeeper 保证了如下分布式一致性特性:(1)顺序一致性(2)原子性(3)单一视图(4)可靠性(5)实时性(最终一致性)客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上注册了监听器,这个监听器也是由所连接的 zookee

2022-05-24 23:00:32 412

原创 操作系统总结

一、文件系统1. 文件系统的理解(EXT4,XFS,BTRFS)文件系统主要用于控制所有程序在不使用数据时如何存储数据、如何访问数据以及有什么其它信息(元数据)和数据本身相关。Linux 操作系统即便使用标准安装过程,在同一块磁盘上仍使用多个分区。拥有不同分区的一个主要目的就是为了在灾难发生时能获得更好的数据安全性。EXT4:使用广泛,Linux现在默认的是广泛采用的 ext4,易用性以及广泛性。XFS:XFS 文件系统是扩展文件系统的一个扩展,XFS 文件系统有一些缺陷,例如它不能压缩,删除大量

2022-05-23 15:09:28 682

原创 【C++】C++11特性

constexprconstexpr 函数是在使用需要它的代码时,可以在编译时计算其返回值的函数。当其参数为 constexpr 值并且在编译时使用代码需要返回值时(例如,初始化一个 constexpr 变量或提供一个非类型模板参数),它会生成编译时常量。enable_if 的使用enable_if<true, T>::type 即为 T,而 enable_if<false, T>::type 会引发编译错误大多数时候 enable_if 都用来判断模板参数的类型,此时一般要

2022-05-05 19:28:19 458

原创 搜索引擎原理

一、搜索引擎正排索引数据结构倒排索引向量索引地理索引

2022-04-24 21:54:04 34

原创 【Leetcode】刷题笔记

Leetcode数组文章目录Leetcode数组前言1. 两数之和54. 螺旋矩阵2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考1. 两数之和 vector<int> twoSum(vector<int>& nums, int target) { vector&l

2022-04-23 18:15:18 770

原创 【Redis总结】

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2022-04-23 12:42:10 580

原创 C++面试基础知识整理

一、 整体介绍1 C++和C的类型安全操作符new返回的指针类型严格与对象匹配,而不是void*;C中很多以void*为参数的函数可以改写为C++模板函数,而模板是支持类型检查的;引入const关键字代替#define constants,它是有类型、有作用域的,而#define constants只是简单的文本替换;一些#define宏可被改写为inline函数,结合函数的重载,可在类型安全的前提下支持多种类型,当然改写为模板也能保证类型安全;C++提供了dynamic_cast关键字,使得转

2020-10-04 20:10:33 5702

原创 [ERROR][1488247036.693052607]: Exception thrown while opening Hokuyo Device/dev/ttyACM0 is already

如果出现上述错误打开窗口,运行 top 命令找到 hokuyo_node对应的编号,如图中,编号为11598运行命令 kill 11598重新运行打开hokuyo_node节点命令即可。

2019-01-08 16:57:40 474

原创 ROS常用命令汇总

ROS常用命令汇总1 查看环境变量命令:echo ROS_PACKAGE_PATH ,命令roscd及其它的ROS命令仅适用于环境变量$ROS_PACKAGE_PATH中存在的目录路径,echo命令为字符串输出命令2 编译工作空间:在工作空间目录下 cd ~/catkin_ws/ catkin_make。catkin_make是在CMake标准工作流程中依次调用了cmake 和 make。...

2018-11-27 21:46:11 575

空空如也

空空如也

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

TA关注的人

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