![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程小知识
大朝书房
保持简单,纯粹,微信号:cosysun
展开
-
为啥要使用extern C 0067a8e1007d4f19bd114550fa32fed3
另外需要注意的是,extern “C” 不能修饰类相关的函数或者变量,应为类相关的都是C++的特性,在C中并没有。原创 2023-02-24 09:12:11 · 128 阅读 · 0 评论 -
redis缓存雪崩,穿透,击穿
缓存雪崩对于系统 A,假设每天高峰期每秒 5000 个请求,本来缓存在高峰期可以扛住每秒 4000 个请求,但是缓存机器意外发生了全盘宕机。缓存挂了,此时 1 秒 5000 个请求全部落数据库,数据库必然扛不住,它会报一下警,然后就挂了。此时,如果没有采用什么特别的方案来处理这个故障,DBA 很着急,重启数据库,但是数据库立马又被新的流量给打死了。这就是缓存雪崩。大约在 3 年前,国内比较知名的一个互联网公司,曾因为缓存事故,导致雪崩,后台系统全部崩溃,事故从当天下午持续到晚上凌晨 3~4 点,转载 2020-07-31 10:35:40 · 157 阅读 · 0 评论 -
编程小知识之C++内存操作
动态内存分配操作C++的动态内存管理,一直是很让人头疼的,一不小心就能出现内存泄漏和宕机,需要按照有创建必有销毁原则,配套使用,养成良好的编程习惯,才是尽量减少这类事情发生。继承于Cmalloc/free动态分配堆中内存,无初始化,可调用memset初始化,释放内存用freecalloc动态分配堆中内存,并初始化0,释放内存用freerealloc对malloc和calloc分配的内存,进行扩展,如果无法找到连续的内存块,可发生内存地址的迁移,产生数据拷贝,并释放掉老内存区域。free时.原创 2020-07-27 14:31:03 · 268 阅读 · 0 评论 -
编程小知识之一网打尽C++内存管理
一、C++内存管理c++内存管理主要以下几个区:栈存储函数内局部变量,函数结束可自动销毁,内存容量有限,但栈内存分配运算内置于处理器的指令集中,效率很高堆程序执行时通过new/malloc等动态分配内存,需手动销毁,如果忘记销毁,可产生内存泄漏,不过程序退后后,可由系统自动释放。32bit的机器,内存容量可达到64GB。静态存储区域存储静态/全局变量,在程序编译期就已经分配好相应内存,存在与程序的整个生命周期。这里我们引申一个概念,进程的内存管理分配。BSS段存储未初始化的静态/全原创 2020-07-20 14:12:02 · 92 阅读 · 0 评论