自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

春夜喜雨的专栏

个人随笔 (Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu)

  • 博客(425)
  • 资源 (3)
  • 收藏
  • 关注

原创 堆溢出崩溃分析Critical error detected c0000374

下面通过触发异常,崩溃堆栈分析,来看看异常发生的场景,以及如何来界定问题范围。

2021-09-11 10:03:10 3421

原创 栈溢出分析-stackoverfow-Segmentation fault: 11

stack:栈,也常常称作堆栈;stack vs heap:栈(堆栈)与堆,从stack翻译来看一叠,一摞,一堆,感觉和heap翻译差不多,不过heap表达的是凌乱的一堆,stack表达的也是一堆,但是一层层叠放的、一摞一摞的,有规律的一堆:-)

2021-08-22 20:01:47 186

原创 读写锁RWLock简单实现研究

读写锁在服务端程序开发时,用的还是比较广泛的一种锁,比较适合用于多读少写的场景。多读少写场景,可以减少加锁时间;因为能够对大多数的读场景减少加锁时间,也一定程度减少多线程程序的编写难度。

2023-01-15 21:19:19 342

原创 shared_ptr代码研究

shared_ptr被使用的很广泛,许多经典库使用share_ptr作为实现函数的接口类型使用。出share_ptr构建时:会构建出两个指针,一个用来指向维护的元素,一个用来指向元素的计数管理类对象。

2023-01-05 20:43:19 644

原创 安装使用clang-format

clang-format用于格式化代码,并能够指定采用的格式名称,例如google,microsoft,GNU代码样式格式等。

2022-12-18 17:58:45 324

原创 谈数据库查询涉及的存储效率

对于数据查询来说,主要的瓶颈就在存储IO,磁盘IO的读写速度低于内存处理、CPU处理数个数量级。是查询效率优化的中心,优化也都于围绕着它展开

2022-11-26 16:50:37 603

原创 leveldb的sstable-ldb解析

leveldb的sstable-ldb文件作为sorted-stable-table,是一个自成体系的单数据库文件,自身就包含了排序索引信息,以及相应的key,value信息;

2022-10-19 20:31:45 103

原创 关于技术面试思考

最近参与技术面试,作为技术面试官,面试之后思考:哪种情况属于职位匹配度比较高?哪种情况是面试者理想的职位?哪种情况是职位的合适人选?

2022-10-19 20:24:46 412

原创 也来认识数据库窗口函数

数据库的窗口函数(windows function)

2022-09-20 21:15:00 205

原创 漫谈有序读取与关系库索引

从有序读取对速度的影响,到关系库索引建立的方法用途,写写自己的了解。

2022-08-28 08:57:21 163

原创 多线程下类对象的服务承诺探讨

多线程下,哪些需要**类本身**处理资源共享冲突,哪些需要**类调用**方保证共享冲突。**类对象** 与 **调用者** 各自应该有哪些服务承诺?

2022-07-28 21:10:03 79

原创 linux下编译生成库函数的符号查看

不同于window下,在Linux下:编译.o文件、静态库.a文件、动态库.so文件、生成的可执行程序,都可以方便的查看函数符号。

2022-07-19 22:58:45 337

原创 pragma-pack语法与使用

pragma-pack通常是我们做涉及IO程序,或涉及通信程序时,会对结构体或类做的设定。通常我们考虑着网络通信时或io上尽可能节省字节长度。有时,也可能考虑cpu特点或考虑计算运行效率,对对齐方式做指定。.........

2022-07-02 22:30:30 233

原创 std::make_shared特点

std::make_shared的使用,从堆上内存分配的角度来看,对比直接使用std::shared_ptr构造,可以减少一次堆内存的申请。

2022-06-19 10:59:14 2657

原创 leveldb简单使用样例

几个leveldb的简单使用样例,包含写数据、查数据、遍历数据,c++语言的,供参考。

2022-06-07 22:13:57 526

原创 类构造函数与虚函数调用-汇编代码分析

C++中构造函数、析构函数、虚函数在调用时,汇编码是如何处理的,和我们平常理解上有没有什么不同?对于类的实例,在进行函数调用时,会传入this指针吗?通过哪种方式传入的?虚函数呢?虚函数表在哪呢,虚函数指针又如何初始化的呢?...

2022-05-23 00:11:15 183

原创 右值引用调用-汇编码分析

右值引用是在C++11时引入的一个重要的功能,并在stl库中提供了右值引用的函数,便于做值的转移。下面通过汇编码分析,来进一步理解右值引用从汇编角度来看,它的特点是有什么。

2022-05-21 10:58:36 222

原创 整数与浮点数比较-汇编码分析

整数之间比较我们通常比较好理解,按照4字节比较或8字节比较,无符号与有符号基于比较结果跳转命令差异,基本就涵盖了整数之间比较的规律。但对于整数与浮点数之间呢?是什么样的情况?整数要转成浮点数吗,还是整数和整数部分比较吗?还是浮点和浮点比较?8字节整数呢?和浮点比较时有没有差异?当时浮点浮点之间比较又是什么样子呢?

2022-05-14 21:39:14 828

原创 std::vector内存申请增长率

vector中的数组长度是如何增长的,倍增方式吗?初始vector内部带有空间吗,还是初始空间大小为0呢?从vector模板库实现中找一找,可以找到相关的线索。

2022-05-09 21:08:51 390

原创 std::vector内存清理

vector析构的时候,才会把申请的堆内存释放掉。但有时,我们希望早点清理掉它,而不是等到vector自动析构的时候,这时候我们就需要对它进行特殊处理了。

2022-05-09 20:43:41 1608

原创 整数类型比较-汇编码分析

对于整数比较时隐含的类型转换,有什么样的规律?汇编代码级别上,又有什么不同的地方?下面通过几种不同例子比较的汇编代码,来找一找规律;

2022-05-03 22:01:59 242

原创 比较指令-汇编码分析

汇编中常用的比较指令:对于整形,使用CMP;对于浮点型,单精度float使用COMISS,双精度double使用COMISD;

2022-05-02 21:06:27 1793

原创 数字类型初始化-汇编码分析

整型1字节/2字节/4字节/8字节分别是怎么初始化的,汇编命令有区别码?浮点型是如何初始化的呢,用的什么样的汇编命令?bool类型如果初始化,按1个字节还是1比特初始化呢?

2022-04-29 19:13:25 662

原创 加锁解锁性能

加锁解锁的性能是怎样的,成本有多高呢?是不是很高,付出的成本和哪些地方有关系呢?和使用的加锁方式有没有关系?

2022-04-17 11:34:41 807

原创 线程可重入锁实现研究

线程可重入锁,通常用在某些资源加锁位置比较多,为了防止线程内重复加锁异常,使用的一种锁。可重入锁在windows下、linux下底层实现并不相同,下面探讨线程可重入锁的实现。

2022-04-17 10:32:13 298

原创 探讨conditon_variable的使用

std::conditon_variable的使用还是非常有趣的,它本身是和mutex一样,每个条件变量都是一种系统下唯一标识的资源。下面主要探讨为什么它的block等待需要一个std::unqiue_lock<std::mutex>做配合?

2022-04-05 19:59:02 796

原创 RocksDB说明文档

RocksDB是被facebook数据库引擎团队开发出来并维护着。它早期构建于Sanjay Ghemawat和Jeff Dean开发的LevelDB。它的库中代码构建了一个核心特点:快速的键值存储服务,特别适合于在flash驱动器上存储数据。它有一个日志结构归并数据库设计(LSM),并在写放大(WAF),读放大(RAF),空间放大(SAF)上提供灵活的折中处理。它具有多线程归并,从而让它更适合于在一个数据库中存储TB级的数据。

2022-04-05 19:39:25 1265

原创 简单读写锁实现研究

当我们想实现一个读写锁的时候,我们需要清楚的知道:读写锁有哪些功能特点?读写锁的局限性?读写锁实现后的使用效果是什么?

2022-03-19 17:27:08 368

原创 基类与实现类分离实践

基类与实现类分离,在google开源代码中有大量的使用,便于减少依赖,把类方法声明和实现分离。

2022-03-08 23:04:53 125

原创 进程间通信IPC-共享内存ShareMemory

作为本地进程间通信中非常高效的手段,共享内存是一个优点很明显,缺点也很明显的进程间数据传递的方式。核心优点:是通过地址映射直接共享访问内存,适合于大数据量的进程间传送。主要缺点:是没有进程间访问同步的约束,不解决进程间访问冲突,需要额外的同步机制来保证。

2022-03-04 00:03:11 814

原创 进程间通信IPC-Windows消息

windows消息机制提供了相对比较完备的:消息发送、读取、超时、同步异步、异常处理(消息队列满等)、消息清理等,这些可以比较全面的支持了线程内,进程间通信的需求。相比其它通信方法Socket、Pipe、ShareMemmory,消息机制还是完备了很多的,简化了使用的难度。

2022-03-02 05:50:33 366

原创 函数中未初始化本地变量的初值研究

函数中,本地变量未初始化时,它的值存的是什么呢?随机值?固定值?前后函数之间有什么因果关系吗?

2022-02-24 23:08:39 708

原创 gdb多线程调试

使用gdb调试多线程时,和调试单线程时类似,但是需要附加使用几个命令来协助进行线程切换。

2022-02-23 21:42:45 1797

原创 进程间通信IPC-信号量Semaphore

信号量是一个很有趣的系统同步方式,在linux下和windows下都有支持。它像是为典型的生产者消费者问题应运而生的。

2022-02-17 23:04:48 454

原创 进程间通信IPC

进程间通信的方式有很多的,例如我们经常代码中用到或看到的:共享内存、socket通信、信号量、内存映射文件,文件,管道等。

2022-02-17 22:41:12 258

原创 C与C++运算符优先级个人解读

没有想到,在写了许多年代码之后,对几个运算符优先级竟然没有记对。还好平时多用括号,要不代码该出许多问题了。但优先级还是要能分的清楚的,毕竟看代码的时候,会涉及到未用括号分割的情况。

2022-01-16 12:07:34 448

原创 windows下程序崩溃生成dump文件

首先一个问题:什么是dump文件?尝试以个人理解来回答这个问题,dump是进程当前运行信息的导出,一个进程在操作系统中执行时,会首先把程序加载到内存中,并分配堆栈空间,进程空间;dump即是对这些信息的导出,会至少包括堆栈信息,寄存器信息等。

2022-01-16 11:40:43 1729

原创 查看端口关联进程(window和linux)

有时,我们已知某个端口被占用了,但时不知道哪个程序占用了,此时我们就需要:查找端口关联进程了。

2022-01-16 11:17:43 197

原创 gcc与g++的常用编译选项

下面对gcc和g++的常用项进行一些罗列,方便需要时快速查找使用。

2022-01-16 11:02:14 637

原创 生产数据与消费数据实现思考

假设有两个线程:一个线程不断的写数据,一个线程不断的读取数据、处理数据。

2022-01-03 19:03:39 417

Mac上构建OpenGL红宝书上的triangles程序

OpenGL红宝书中程序与Mac系统匹配不好,需要进行相关的适配才能够在Mac下正常的运行。 该资源是花了不少时间查阅资料处理的,最终实现仅依赖系统带的OpenGL和GLUT,在Mac上运行红宝书的第一个程序-triangles。 文件(格式.tar.gz压缩包)包含的清单如下: LoadShaders.cpp LoadShaders.o triangles triangles.frag triangles.vert LoadShaders.h Makefile triangles.cpp triangles.o 重新构建方法:make clean; make 运行方法:./triangles

2019-04-12

Python语言程序设计基础_课件PPT_嵩天

课件来源于python123.io课程中57个PDF文档课件的汇总。 笔者提供了:1、把57个章节课件按顺序汇总到一个文档中。 2、对PDF增加了57个章节书签,方便阅读。 课件来源网址:https://python123.io/student/courses/371/materials 备注:感谢嵩天老师和python123提供的课程与课件,建议大家加入课程学习!

2018-12-01

编译原理-简单计算器

编译原理-简单计算器:实现词法分析器,和语法分析器:实现正整数与浮点数的 + - * / () 之前大学的时候,编译原理课程有一个做计算器的任务,当时没有做,只顾做一个漂亮计算器界面。趁这周末有空,就把计算器编译重新做一做。 参考文档:http://wenku.baidu.com/view/341e42bd02d276a200292e6c.html

2014-08-31

空空如也

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

TA关注的人

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