![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记
文章平均质量分 78
春夜喜雨
好雨知时节.当春乃发生.
展开
-
使用perfmon做进程性能监视的方法技巧
关于perfmon的使用,一方面是关于如何对一个应用进程,做相关的资源占用分析,做性能分析?另一方面是关于如何对查看分析报告,查看细节细微调整的一些方法?原创 2024-07-26 19:07:12 · 342 阅读 · 0 评论 -
堆溢出崩溃vs栈溢出崩溃的内存越界对比分析
最近碰到了软件运行的两个崩溃问题,非常典型,一个堆溢出越界问题heap overflow,一个栈溢出越界问题statck overflow。原创 2024-07-19 19:25:57 · 910 阅读 · 0 评论 -
我的创作纪念日
我的创作纪念日原创 2024-07-08 11:17:44 · 248 阅读 · 0 评论 -
软考系统架构师一些知识点记录-2-系统质量属性与架构评估
接着上次的内容,这次记录的是”第三篇-架构设计高级知识---系统质量属性与架构评估“的内容,这一节在软考时,也出了有不少题目。原创 2024-05-31 17:27:50 · 424 阅读 · 0 评论 -
惊艳的KMP字符串匹配算法
KMP字符串匹配算法是早有耳闻的,但之前并未去了解它的字符串匹配思路;昨天晚上偶然翻书看到,发现算法设计思路非常棒,在自己看来,可以用惊艳来形容。原创 2024-02-20 10:20:42 · 978 阅读 · 0 评论 -
sqlite使用样例与utf编码
关于如何来使用sqlite,写了一些简单的使用样例。数据库使用样例,无外乎几种,打开数据库,创建表,插入数据,查询数据,DDL与DML几种操作。另外由于sqlite的接口限制约束,要求字符串使用utf编码格式,所以也会涉及编码使用的部分知识。原创 2023-07-15 20:44:56 · 1272 阅读 · 0 评论 -
weak_ptr特点
weak_ptr也是一个很有意思的智能指针,感觉它不太像是一个智能指针,更像是一个shared_ptr的经纪人原创 2023-05-04 20:34:05 · 514 阅读 · 0 评论 -
shared_ptr代码研究
shared_ptr被使用的很广泛,许多经典库使用share_ptr作为实现函数的接口类型使用。出share_ptr构建时:会构建出两个指针,一个用来指向维护的元素,一个用来指向元素的计数管理类对象。原创 2023-01-05 20:43:19 · 865 阅读 · 0 评论 -
安装使用clang-format
clang-format用于格式化代码,并能够指定采用的格式名称,例如google,microsoft,GNU代码样式格式等。原创 2022-12-18 17:58:45 · 2128 阅读 · 0 评论 -
谈数据库查询涉及的存储效率
对于数据查询来说,主要的瓶颈就在存储IO,磁盘IO的读写速度低于内存处理、CPU处理数个数量级。是查询效率优化的中心,优化也都于围绕着它展开原创 2022-11-26 16:50:37 · 953 阅读 · 0 评论 -
leveldb的sstable-ldb解析
leveldb的sstable-ldb文件作为sorted-stable-table,是一个自成体系的单数据库文件,自身就包含了排序索引信息,以及相应的key,value信息;原创 2022-10-19 20:31:45 · 530 阅读 · 0 评论 -
也来认识数据库窗口函数
数据库的窗口函数(windows function)原创 2022-09-20 21:15:00 · 947 阅读 · 0 评论 -
pragma-pack语法与使用
pragma-pack通常是我们做涉及IO程序,或涉及通信程序时,会对结构体或类做的设定。通常我们考虑着网络通信时或io上尽可能节省字节长度。有时,也可能考虑cpu特点或考虑计算运行效率,对对齐方式做指定。.........原创 2022-07-02 22:30:30 · 694 阅读 · 0 评论 -
std::make_shared特点
std::make_shared的使用,从堆上内存分配的角度来看,对比直接使用std::shared_ptr构造,可以减少一次堆内存的申请。原创 2022-06-19 10:59:14 · 5151 阅读 · 0 评论 -
leveldb简单使用样例
几个leveldb的简单使用样例,包含写数据、查数据、遍历数据,c++语言的,供参考。原创 2022-06-07 22:13:57 · 899 阅读 · 0 评论 -
类构造函数与虚函数调用-汇编代码分析
C++中构造函数、析构函数、虚函数在调用时,汇编码是如何处理的,和我们平常理解上有没有什么不同?对于类的实例,在进行函数调用时,会传入this指针吗?通过哪种方式传入的?虚函数呢?虚函数表在哪呢,虚函数指针又如何初始化的呢?...原创 2022-05-23 00:11:15 · 517 阅读 · 0 评论 -
右值引用调用-汇编码分析
右值引用是在C++11时引入的一个重要的功能,并在stl库中提供了右值引用的函数,便于做值的转移。下面通过汇编码分析,来进一步理解右值引用从汇编角度来看,它的特点是有什么。原创 2022-05-21 10:58:36 · 432 阅读 · 0 评论 -
整数与浮点数比较-汇编码分析
整数之间比较我们通常比较好理解,按照4字节比较或8字节比较,无符号与有符号基于比较结果跳转命令差异,基本就涵盖了整数之间比较的规律。但对于整数与浮点数之间呢?是什么样的情况?整数要转成浮点数吗,还是整数和整数部分比较吗?还是浮点和浮点比较?8字节整数呢?和浮点比较时有没有差异?当时浮点浮点之间比较又是什么样子呢?原创 2022-05-14 21:39:14 · 2214 阅读 · 0 评论 -
std::vector内存申请增长率
vector中的数组长度是如何增长的,倍增方式吗?初始vector内部带有空间吗,还是初始空间大小为0呢?从vector模板库实现中找一找,可以找到相关的线索。原创 2022-05-09 21:08:51 · 684 阅读 · 0 评论 -
std::vector内存清理
vector析构的时候,才会把申请的堆内存释放掉。但有时,我们希望早点清理掉它,而不是等到vector自动析构的时候,这时候我们就需要对它进行特殊处理了。原创 2022-05-09 20:43:41 · 2834 阅读 · 0 评论 -
整数类型比较-汇编码分析
对于整数比较时隐含的类型转换,有什么样的规律?汇编代码级别上,又有什么不同的地方?下面通过几种不同例子比较的汇编代码,来找一找规律;原创 2022-05-03 22:01:59 · 491 阅读 · 0 评论 -
比较指令-汇编码分析
汇编中常用的比较指令:对于整形,使用CMP;对于浮点型,单精度float使用COMISS,双精度double使用COMISD;原创 2022-05-02 21:06:27 · 4796 阅读 · 0 评论 -
加锁解锁性能
加锁解锁的性能是怎样的,成本有多高呢?是不是很高,付出的成本和哪些地方有关系呢?和使用的加锁方式有没有关系?原创 2022-04-17 11:34:41 · 1281 阅读 · 0 评论 -
线程可重入锁实现研究
线程可重入锁,通常用在某些资源加锁位置比较多,为了防止线程内重复加锁异常,使用的一种锁。可重入锁在windows下、linux下底层实现并不相同,下面探讨线程可重入锁的实现。原创 2022-04-17 10:32:13 · 611 阅读 · 0 评论 -
监听本地地址效果差异分析127.0.0.1/0.0.0.0/192.168.*
(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)最近研究本地监听不同的地址127.0.0.1/IP地址/0.0.0.0,形成的差异效果,发现差异还是挺大的:需要配置时谨慎以对。如果遇到局域网访问失败等情况,可以参考下面检查一下是否配置异常。测试主机环境:Mac OS 主机IP 192.168.0.102归结起来来看:1.使用1...原创 2019-01-04 11:14:06 · 7915 阅读 · 0 评论 -
探讨conditon_variable的使用
std::conditon_variable的使用还是非常有趣的,它本身是和mutex一样,每个条件变量都是一种系统下唯一标识的资源。下面主要探讨为什么它的block等待需要一个std::unqiue_lock<std::mutex>做配合?原创 2022-04-05 19:59:02 · 945 阅读 · 0 评论 -
简单读写锁实现研究
当我们想实现一个读写锁的时候,我们需要清楚的知道:读写锁有哪些功能特点?读写锁的局限性?读写锁实现后的使用效果是什么?原创 2022-03-19 17:27:08 · 499 阅读 · 0 评论 -
基类与实现类分离实践
基类与实现类分离,在google开源代码中有大量的使用,便于减少依赖,把类方法声明和实现分离。原创 2022-03-08 23:04:53 · 248 阅读 · 0 评论 -
进程间通信IPC-共享内存ShareMemory
作为本地进程间通信中非常高效的手段,共享内存是一个优点很明显,缺点也很明显的进程间数据传递的方式。核心优点:是通过地址映射直接共享访问内存,适合于大数据量的进程间传送。主要缺点:是没有进程间访问同步的约束,不解决进程间访问冲突,需要额外的同步机制来保证。原创 2022-03-04 00:03:11 · 1261 阅读 · 0 评论 -
进程间通信IPC-Windows消息
windows消息机制提供了相对比较完备的:消息发送、读取、超时、同步异步、异常处理(消息队列满等)、消息清理等,这些可以比较全面的支持了线程内,进程间通信的需求。相比其它通信方法Socket、Pipe、ShareMemmory,消息机制还是完备了很多的,简化了使用的难度。原创 2022-03-02 05:50:33 · 1218 阅读 · 0 评论 -
函数中未初始化本地变量的初值研究
函数中,本地变量未初始化时,它的值存的是什么呢?随机值?固定值?前后函数之间有什么因果关系吗?原创 2022-02-24 23:08:39 · 986 阅读 · 0 评论 -
gdb多线程调试
使用gdb调试多线程时,和调试单线程时类似,但是需要附加使用几个命令来协助进行线程切换。原创 2022-02-23 21:42:45 · 2973 阅读 · 0 评论 -
进程间通信IPC-信号量Semaphore
信号量是一个很有趣的系统同步方式,在linux下和windows下都有支持。它像是为典型的生产者消费者问题应运而生的。原创 2022-02-17 23:04:48 · 772 阅读 · 0 评论 -
进程间通信IPC
进程间通信的方式有很多的,例如我们经常代码中用到或看到的:共享内存、socket通信、信号量、内存映射文件,文件,管道等。原创 2022-02-17 22:41:12 · 390 阅读 · 0 评论 -
C与C++运算符优先级个人解读
没有想到,在写了许多年代码之后,对几个运算符优先级竟然没有记对。还好平时多用括号,要不代码该出许多问题了。但优先级还是要能分的清楚的,毕竟看代码的时候,会涉及到未用括号分割的情况。原创 2022-01-16 12:07:34 · 769 阅读 · 0 评论 -
windows下程序崩溃生成dump文件
首先一个问题:什么是dump文件?尝试以个人理解来回答这个问题,dump是进程当前运行信息的导出,一个进程在操作系统中执行时,会首先把程序加载到内存中,并分配堆栈空间,进程空间;dump即是对这些信息的导出,会至少包括堆栈信息,寄存器信息等。原创 2022-01-16 11:40:43 · 2549 阅读 · 0 评论 -
查看端口关联进程(window和linux)
有时,我们已知某个端口被占用了,但时不知道哪个程序占用了,此时我们就需要:查找端口关联进程了。原创 2022-01-16 11:17:43 · 522 阅读 · 0 评论 -
生产数据与消费数据实现思考
假设有两个线程:一个线程不断的写数据,一个线程不断的读取数据、处理数据。原创 2022-01-03 19:03:39 · 593 阅读 · 0 评论 -
修改git提交commit信息NAME和EMAIL
如果你也碰到git/github上提交用户名或者email错误的话,下面介绍的修改方法可能可以帮助到你。修改commit记录,主要通过使用git filter-branch命令来实现。原创 2021-12-20 22:17:41 · 1814 阅读 · 0 评论 -
函数被多次包含的重定义问题fatal error LNK1169
头文件/函数被多个地方包含,链接时报错重定义的问题解决方式。 “fatal error LNK1169: 找到一个或多个多重定义的符号”原创 2015-02-10 09:32:55 · 7697 阅读 · 5 评论