自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1135)
  • 资源 (5)
  • 收藏
  • 关注

原创 Google Perf Tools安装以及使用

Google Performance Tools安装以及使用这边文章都记录在github:https://github.com/NIGHTFIGHTING/gperftools-tutorial一个优化的内存管理算法—tcmalloc性能优于malloc。一个用于CPU profile的工具,用于检测程序的性能热点,这个功能和gprof类似。一个用于堆检查工具,用于检测程序在是够有内存泄露...

2020-03-09 00:40:47 2169

原创 倒排检索加速(二):如何对联合查询进行加速?

2024-09-21 21:32:00 83

原创 154 · 正则表达式匹配

【代码】【无标题】

2024-08-17 14:14:12 191 1

原创 430 · 攀爬字符串

【代码】430 · 攀爬字符串。

2024-08-11 13:21:07 168

原创 字符串转成double类型

要求:任意字符串,考虑非法情况,不用考虑double溢出情况,不调用系统库(pow/atoi等)把一个字符串转成double类型。

2024-07-31 10:03:40 384

原创 面试题 08.14. 布尔运算

题解:dp[i][j][0/1] 表示,从下标i到下标j之间,满足0/1的情况是多少。

2024-06-22 10:49:46 211

原创 2376.统计特殊整数

【代码】【无标题】

2024-06-17 13:21:39 283

原创 面试题 10.11. 峰与谷

【代码】面试题 10.11. 峰与谷。

2024-06-16 18:11:18 198

原创 面试题 17.07. 婴儿名字

【代码】面试题 17.07. 婴儿名字。

2024-06-16 16:27:55 227

原创 面试题 17.17. 多次搜索

【代码】面试题 17.17. 多次搜索。

2024-06-16 11:41:34 196

原创 面试题 17.09. 第 k 个数

题解:堆和hash表。

2024-06-15 23:04:07 150

原创 面试题 17.05. 字母与数字

题解:把字母看成1,把数字看为-1,将题目变为求的和为0的最长连续子数组。

2024-06-15 22:36:49 214

原创 面试题 17.06. 2出现的次数

【代码】【无标题】

2024-06-15 15:46:02 199

原创 面试题 17.15. 最长单词

【代码】面试题 17.15. 最长单词。

2024-06-09 17:52:47 209

原创 634 · 单词矩阵

【代码】634 · 单词矩阵。

2024-05-25 20:43:16 237

原创 OS-案例-52 | 案例篇:服务吞吐量下降很厉害,怎么分析?

2024-05-11 15:03:53 111

原创 brpc profiler

【代码】brpc mac安装profiler。

2024-05-04 20:42:59 428

原创 brpc中http2 grpc协议解析

这个是固定长度的9字节帧头部,length是,3*8bit(3字节),type8bit,flags8bit,streamid(最高32位置,应该是个0,所以&0x8000000是0)解析完9字节帧头部,按照帧头中的type去解析,playload中的内容,假设type类型是header帧类型。playload是Header类型的帧,是hpack编码的。具体解析是Decode函数,按照hpack规则解析。先看下前4个bit为header类型帧哪种编码格式,如果是。解析frame header信息。

2024-05-03 21:26:30 310

原创 grpc stream发送

在这个示例中,客户端创建了一个类,并在GetNumbers方法中发送了一个消息,要求服务器端返回 5 个消息。客户端使用接收服务器端返回的流式消息,并在循环中打印出每个结果。最后,客户端调用Finish方法来完成整个 RPC 调用。这个示例展示了如何在 gRPC C++ 中实现服务器端流式 RPC,客户端可以根据需要修改请求的参数和处理返回结果的逻辑。

2024-05-03 16:07:13 323

原创 哈夫曼huffman

【代码】哈夫曼huffman。

2024-05-02 22:47:10 146

原创 12 | 排序(下):如何用快排思想在O(n)内查找第K大元素?归并排序和快速排序

下载APP。

2024-04-07 15:26:07 931

原创 数据库不用mmap

但是当操作系统检索页面的时候,他会意识到内存中没有关联的物理页面,所以它需要触发一个页面错误才能从磁盘上获取它,然后OS向页面添加物理地址映射到虚拟地址的条目,映射也将被存储在称为转译后备缓冲区或TLB的特殊cpu缓存中,这将有助于加速未来的重复访问,所以我们不总是在页表中进行查找内容。其次是同步页表的开销,以及高竞争下关联的数据结构(本例中100个并发线程),TLB shootdowns(TLB缓存存储的是CPU中的页表条目),当页边被逐出时,这些条目需要删除,这需要昂贵的处理器间中断。

2024-04-06 15:18:46 269

原创 brpc基于延迟最大并发度限流

server.cppglobal.cpp。

2024-04-04 10:49:05 308

原创 tfs文件系统

tfs主从nameserver节点容错性—源码解读。tfs数据复制策略—源码解读。

2024-03-05 17:27:48 426

原创 boost::intrusive_ptr的用法

链接:https://www.jianshu.com/p/dd9701219b27。商业转载请联系作者获得授权,非商业转载请注明出处。作者:JasonLiThirty。

2024-01-30 23:29:48 499

原创 brpc负载均衡load balance和服务发现name servicing

2.2.3nsthread->Start,bthread_start_urgent创建一个协程RunThis->Run->_ns->RunNamingService。3.Channel:包含LoadBalancerWithNaming的指针_lb,new LoadBalancerWithNaming,lb->Init。1.SharedLoadBalancer(load_balancer.h):包含LoadBalancer指针_lb。

2024-01-21 22:28:08 839

原创 1359 · 有序数组转换为二叉搜索树

【代码】1359 · 有序数组转换为二叉搜索树。

2024-01-14 18:54:45 423

原创 内存-虚拟地址到物理内存地址转换

512个2MB是1GB,第二层,每一项是512GB。512个4KB是2MB,第一层,每一项是1GB。512个526GB是256TB,第三层,每一项。第零层,每一项是4KB。

2023-10-27 20:07:46 439

原创 阻塞、非阻塞、异步、同步

但当IO并发度愈发提高时,blocking IO阻塞一个线程的弊端便显露出来:内核得不停地在线程间切换才能完成有效的工作,一个cpu core上可能只做了一点点事情,就马上又换成了另一个线程,cpu cache没得到充分利用,另外大量的线程会使得依赖thread-local加速的代码性能明显下降,如tcmalloc,一旦malloc变慢,程序整体性能往往也会随之下降。内核把数据准备好了之后,它也是通过read返回的,read一返回,其实也就意味着数据是否准备好。

2023-10-07 21:04:10 230

原创 复杂链式结构:跳表

2023-10-07 14:35:14 217

原创 187. 重复的DNA序列

链接:187. 重复的DNA序列题解:

2023-10-06 23:24:08 140

原创 1392. 最长快乐前缀

【代码】1392. 最长快乐前缀。

2023-10-06 22:36:13 129

原创 1147. 段式回文

【代码】1147. 段式回文。

2023-10-06 17:38:34 98

原创 将二叉搜索树转化为排序的双向链表

【代码】将二叉搜索树转化为排序的双向链表。

2023-10-05 16:46:17 115

原创 面试题 17.24. 最大子矩阵

链接:https://leetcode.cn/problems/max-submatrix-lcci/solutions/137568/zhe-yao-cong-zui-da-zi-xu-he-shuo-qi-you-jian-dao-/我们以第i行为第一行,向下延申,设最后一行为第j行,我们就i在这么一个范围内,将二维问题转化为一维问题,再求解最大子序列和。这样我们就将二维问题转化为了一维问题,现在另一个问题就是怎么把所有情况都遍历到呢?作者:bugsmaker。

2023-10-05 15:41:19 107

原创 540. 有序数组中的单一元素

如果 mid\textit{mid}mid 是奇数,则比较 nums[mid−1]\textit{nums}[\textit{mid} - 1]nums[mid−1] 和 nums[mid]\textit{nums}[\textit{mid}]nums[mid] 是否相等。因此在二分查找的过程中,不需要判断 mid\textit{mid}mid 的奇偶性,mid\textit{mid}mid 和 mid⊕1\textit{mid} \oplus 1mid⊕1 即为每次需要比较元素的两个下标。

2023-10-04 23:38:32 911

原创 vector实现

【代码】vector实现。

2023-10-04 11:41:43 49

原创 tcp拥塞控制原理

我们在向对端发送数据时,并不是一股脑子任意发送,因为TCP建立连接后,就是建立了一根管道,这跟管道上,实际上有很多的工作设备,比如路由器和交换机等等,他们都会对接收到的TCP包进行缓存,以便实现排序,然后发送,但是这些设备并不是只为一个TCP连接中转数据包,大量的网络包也许会耗尽存储空间,从而导致TCP连接的吞吐量急剧下降。

2023-10-03 16:02:00 454 1

原创 tcp滑动窗口原理

另外,你需要知道网络上有个MTU,对于以太网来说,MTU是1500字节,除去TCP+IP头的40个字节,真正的数据传输可以有1460,这就是所谓的MSS(Max Segment Size)注意,TCP的RFC定义这个MSS的默认值是536,这是因为 RFC 791里说了任何一个IP设备都得最少接收576尺寸的大小(实际上来说576是拨号的网络的MTU,而576减去IP头的20个字节就是536)。要知道,我们的TCP+IP头有40个字节,为了几个字节,要达上这么大的开销,这太不经济了。

2023-10-03 15:38:02 186

原创 string cow方法实现

【代码】string cow方法实现。

2023-10-02 23:00:35 755

1.6 Golang在阿里巴巴调度系统Sigma中的实践.pdf

1.6 Golang在阿里巴巴调度系统Sigma中的实践。

2020-04-19

栈和队列.rar

栈队列,两个栈实现队列,两个队列实现栈,栈和队列的一些简单应用

2016-01-14

深度优先搜索

哈理工几道深度优先搜索例题,泉水下山

2015-08-15

排序树 变成双向链表

排序树 变成双向链表排序树

2014-09-14

排序树 双向 循环链表

排序树 双向 循环链表

2014-08-31

空空如也

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

TA关注的人

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