- 博客(41)
- 收藏
- 关注
转载 redis主从同步策略
https://blog.csdn.net/weixin_42711549/article/details/83061052
2020-09-30 02:57:19 252
转载 redis过期键删除策略
1.惰性删除:用到时发现过期才删除2.定期删除:定期随机选择一批删除3.主动删除:当内存不足时主动删除过期键参考:https://www.cnblogs.com/zjoch/p/11149278.html
2020-09-30 02:43:30 108
转载 慢查询优化
1.开启慢查询2.设定时间阈值3.将执行速度慢的语句打印出来4.分析sql语句原因:1.没走索引2.没有索引3.limit没有优化4.数据表结构不合理等参考:https://blog.csdn.net/qq_35571554/article/details/82800463...
2020-09-30 02:33:56 89
转载 B+树能存储多少条数据
https://blog.csdn.net/csdnlijingran/article/details/102309593
2020-09-29 14:20:51 828
原创 C++迭代器失效的情况
分为两种情况:1.vector(内存连续的数组,还有deque等),增加、删除元素都会导致迭代器失效2.其他容器,删除当前迭代器指向的元素会导致迭代器失效,别的迭代器不受影响
2020-09-28 21:02:23 86
原创 std::move和std::forward
作用:都是一样的,内部实现都是static_cast<T&&>。主要是语义不一样:std::move主要是为了把一个值(不管是左值还是右值)变成一个右值,从而触发参数为右值引用的函数,要是没有这个函数,再触发const T&的函数。std::forward主要是用在模板编程中的折叠引用,无论是传入左值还是右值,折叠引用进入函数后都是左值,std::forward的目的就是恢复该值原来的左/右值属性。右值引用的作用:减少传入右值时的拷贝考虑构造函数:传入一个左值时,
2020-09-28 20:52:52 143
原创 点云配准资源
常见方法:https://cloud.tencent.com/developer/article/1631275深度学习CVPR:http://www.soolco.com/post/62632_1_1.html深度学习方法:https://angericky.github.io/2019/09/17/%E3%80%90%E7%AC%94%E8%AE%B0%E3%80%91%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0%E5%9C%A83D%E7%82%B9%E4%BA%91%
2020-09-25 21:21:21 236
原创 RANSAC算法
参考:https://blog.csdn.net/robinhjwy/article/details/79174914步骤:1.选一小部分点,作为局内点2.根据局内点拟合出模型3.计算所有局外点和模型的误差,误差小的点加入到局内点4.根据新的局内点拟合出新的模型5.计算所有局内点的误差,作为评分每轮迭代后,出现两种结果:1.局内点数目太少,抛弃2.新的模型评分更高,选取新的模型,否则抛弃...
2020-09-25 16:02:24 107
原创 排序的稳定性
https://www.cnblogs.com/Lis-/p/12577243.html不稳定:快排,堆排,选择:因为都涉及到交换稳定:插入,归并,冒泡
2020-09-20 01:10:37 78
原创 三次握手ISN的生成
ISN=M+F(localhost, localport,remotehost, remoteport)其中M是一个计时器,每4毫秒加1。F是一个Hash算法,比如MD5或者SHA256。
2020-09-20 00:21:20 625
原创 多线程与信号
1.每个线程都有自己屏蔽信号的mask2.action函数不能指定,只能继承主线程3.当进程收到一个信号时,会遍历所有线程,把信号传递给第一个可以传递的线程(即没有屏蔽这个信号)参考:https://www.cnblogs.com/coding-my-life/p/4782529.html...
2020-09-19 23:46:26 93
原创 socket的各种状态
https://www.cnblogs.com/guanghuiqq/p/11208469.html主要就是:1.opened2.connected3.readable4.writable5.closed
2020-09-19 19:52:55 548
原创 内存泄漏、死锁怎么检测?
内存泄漏:valgrind,gpreftools,vs自带的内存检测工具死锁:详见:https://blog.csdn.net/a13602955218/article/details/108685059调试:gdb调试线上代码,打印堆栈信息
2020-09-19 19:48:58 194
原创 死锁条件、预防、避免、检测、解除
https://blog.csdn.net/jgm20475/article/details/81297819条件:1.互斥条件2.请求与保持3.不可剥夺4.循环等带预防:1.原子操作2.一次分配所有资源3.申请资源前先释放别的4.资源申请顺序避免:银行家算法:分配资源前先计算这次分配是否会产生死锁检测:画出资源分配图,看看有没有循环引用解除:直接剥除进程的资源...
2020-09-19 19:45:37 154
转载 Linux信号机制
https://blog.csdn.net/qq_37653144/article/details/81942026简单说,就是每个PCB有一个信号域,每收到一个信号,内核就会在该信号域置位,当程序从内核态返回到用户态时,就检查该信号域,发现产生了信号就去执行相应的信号处理函数。...
2020-09-14 15:38:17 178
转载 上传文件POST报文的格式
https://blog.csdn.net/huanongying131/article/details/78426219
2020-09-14 15:21:15 1743
原创 成员函数调用虚函数会怎样
class A{public: void func(){ cout << "hello" << endl; vfunc(); } virtual void vfunc(){ cout << "vfuncA" << endl; }};class B:public A{public: void func(){ vfunc(); } v
2020-09-14 13:47:55 382
转载 多线程中子线程调用fork,会复制其他线程吗
不会,只会复制当前的线程参考:https://www.cnblogs.com/liyuan989/p/4279210.html
2020-09-12 14:55:27 779
原创 海量数据求中位数
参考:https://blog.csdn.net/randyjiawenjie/article/details/69685911.最简单:排序2.堆:4G数据,1G内存步骤:先将1G内存都塞进一个大顶堆,然后小于堆顶的数,插入堆,并pop堆顶,一次遍历后,得到第1G大的数;第二次遍历,过滤小于第1G大的数,同样塞满一个1G的大顶堆,小于堆顶的插入堆,并pop堆顶,得到第2G大的数字3.二分+统计比如数字范围是0-1000w那么统计0-500w和500w-1000w的数字个数,若0-500w的数
2020-09-11 00:44:41 727
原创 dfs求组合
1.结果无重复:a.无序:[1,3]和[3,1]是同一个结果:idx不从0开始b.有序:[1,3]和[3,1]不是同一个结果:idx从0开始2.不能使用同一元素:加visited数组
2020-09-05 17:32:22 136
原创 堆priority_queue的使用
priority_queue<ListNode*,vector<ListNode*>,decltype(cmp)> h(cmp);
2020-09-05 14:33:10 278
原创 Linux中的上下文
上下文的种类:用户级上下文:其实就是虚拟内存(mm_struct),包括数据段,代码段,堆栈,mmap等内核级上下文:内核栈硬件级:寄存器(PC,IP,BP,SP,CR3等)上下文切换类型:1.进程/线程上下文切换:1.2.3都会发生,上下文存储在用户栈2.内核上下文切换:只发生2.3,上下文存储在内核栈,内核栈每个线程都有一个3.中断上下文切换:只发生3,上下文存储在中断栈,中断栈一般每个处理器一个补充:在发生虚拟内存的切换时,需要切换页表,而页表的切换一般会导致TLB无效,同时,由于高速
2020-09-03 16:34:05 564
原创 用户栈,线程栈和内核栈
用户栈是fork后共享的主线程的栈;线程栈是主线程通过mmap生成的,存储在task_struct->mm_struct->vm_area_struct中,实际上其他线程也是能看到的;内核栈存储在task_strcut->stack中,每个线程都有一个...
2020-09-03 15:15:39 466
转载 最短路径算法:dijkstra算法
https://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html核心:记录每个点离原点的最短距离
2020-09-02 18:22:21 119
转载 最小生成树:prim和kruskal算法
https://zhuanlan.zhihu.com/p/34922624prim:以点集为对象,找最短的边kruskal:以边为对象,找最短的不形成环路的边
2020-09-02 18:20:41 183
原创 kafka保证消息不丢失的方法
1.producer:ack参数设置为all,表示leader和所有follower都收到了消息才算成功2.broker:设置多个follower3.把自动提交变成手动提交
2020-09-01 11:43:17 126
原创 top K问题解决方案
1.使用最大最小堆。求最大的数用最小堆,求最小的数用最大堆。2.Quick Select算法。使用类似快排的思路,根据pivot划分数组。3.使用排序方法,排序后再寻找top K元素。4.使用选择排序的思想,对前K个元素部分排序。5.将1000…个数分成m组,每组寻找top K个数,得到m×K个数,在这m×k个数里面找top K个数。...
2020-09-01 10:43:28 192
原创 快速排序的优化
1.基准的选取:随机选、前中后选中值、前中后随机选2.短到一定长度后,使用插入排序void QuickSort(vector<int>& nums, int low, int high){ if(high==low) return; else if(high-low < 6) InsertSort(L, low, high); else { int temp = Partition(L, low,
2020-09-01 10:40:57 91
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人