自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(263)
  • 收藏
  • 关注

原创 【数据结构】跳表SkipList代码解析(C++)

各个节点是如何相连接(关联)的?通过每个节点的forward`数组,forward数组存储当前节点,在每一层的下一个节点。

2022-09-01 10:09:46 565

原创 【C】高并发线程池设计

由一个任务队列和一组处理任务队列的线程组成。一旦工作进程需要处理某个可能"阻塞"的操作,不用自己操作,将其作为一个任务放到线程池的队列,接着会被某个空闲线程提取处理。

2022-08-29 12:12:06 362

原创 【C】高并发内存池设计

就是真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若剩余的内存块不够了,就再继续申请新的内存, 统一对程序所使用的内存进行分配和回收。这样做的一个显著优点是,使得内存分配的效率得到很大提升。个人理解:什么是内存池 & 内存池的用处。减少频繁的系统调用以减少时间开销,一次性申请一块大内存,然后给需要的程序进程分配,不够了就再要。.........

2022-08-26 21:08:02 550

原创 【Crow】一款开源C++Web框架的安装与构建

项目地址:官方网站及文档说明:缘由:相关安装参考文章:相关问题解决参考文章:从源码安装,详见官方说明文档。进入Crow目录,创建build目录,并进入。Hello world编译测试

2022-07-09 08:53:55 1079 7

原创 【CLion】解决CLion链接Linux服务器工作目录为/tmp/xx

【CLion】解决CLion链接Linux服务器工作目录为/tmp/xx

2023-01-28 12:13:58 6

原创 【代码随想录】二刷-单调栈

【代码随想录】二刷-单调栈

2023-01-01 13:57:40 70 4

原创 【代码随想录】二刷-动态规划

【代码随想录】二刷-动态规划

2022-12-31 17:29:22 508 2

原创 【C++】侯捷C++面向对象高级编程(下)

【C++】侯捷C++面向对象高级编程(下)

2022-12-25 19:24:26 754 1

原创 【代码随想录】二刷-贪心算法

【代码随想录】二刷-贪心算法

2022-12-23 18:33:22 681

原创 【Python】截取目标窗口内容并保存

【Python】截取目标窗口内容并保存

2022-12-11 20:14:52 184

原创 【代码随想录】二刷-回溯算法

【代码随想录】二刷-回溯算法

2022-12-08 11:53:46 365 1

原创 【代码随想录】二刷-二叉树

【代码随想录】二刷-二叉树

2022-11-25 22:58:38 982

原创 【算法】使数组有序的最小交换次数

【算法】使数组有序的最小交换次数

2022-11-13 18:00:22 169

原创 【代码随想录】二刷-栈和队列

【代码随想录】二刷-栈和队列

2022-11-10 23:44:17 167

原创 【代码随想录】二刷-双指针法

【代码随想录】二刷-双指针法

2022-11-09 11:56:27 460

原创 【CLion】解决CLion链接Linux服务器相关库没有代码补全

【CLion】解决CLion链接Linux服务器相关库没有代码补全。

2022-11-07 14:26:38 157

原创 【代码随想录】二刷-字符串

【代码随想录】二刷-字符串

2022-11-07 01:00:20 143

原创 【KMP】KMP算法的一些小理解&总结

【KMP】KMP算法的一些小理解&总结

2022-11-07 00:40:05 275

原创 【代码随想录】二刷-哈希表

【代码随想录】二刷-哈希表

2022-11-03 21:17:36 388

原创 【代码随想录】二刷-链表

二刷《代码随想录》链表篇

2022-11-02 10:52:30 127

原创 【代码随想录】二刷-数组

二刷《代码随想录》数组篇

2022-11-01 09:14:37 332

原创 【Socket】两种高效事件处理模式&并发模式

本来想做个笔记的,但是发现这块内容书中很多都感觉是有用的,所以很大篇幅的搬了过来,其中加入了我的理解,并有重点标注。

2022-10-21 00:30:14 440

原创 【Linux】Linux/Unix五种I/O模型

【Linux】Linux/Unix五种I/O模型

2022-10-19 09:45:54 392

原创 【Socket】有限状态机

>- 在编程中`有限状态机(finite state)是服务器程序逻辑单元内部的一种高效编程方法。`> - 个人理解为控制程序执行的一个变量或是一段程序,根据这个变量或是程序的有限结果进行对应的操作。

2022-10-03 12:43:10 501

原创 【Linux】I/O多路复用-SELECT/POLL/EPOLL

- I/O多路复用核心思想为,使用一个线程,来处理多个客户端的请求。- 或者说,使用一个特殊的fd,监视多个fd。- 使得程序能同时监听多个文件描述符,这对提高程序的性能至关重要。

2022-09-25 18:51:18 559 1

原创 【操作系统】线程的使用

- 使用fork创建进程以执行新的任务,该方式的代价很高——子进程将父进程的所有资源都复制一遍。- 多个进程之间不会直接共享内存。- `进程是系统分配资源的基本单位`,`线程是进程的基本执行单元`,一个进程的所有任务都在线程中执行,进程想要执行任务,必须得有线程,进程至少要有一条线程,程序启动会默认开启一条线程,这条线程被称为`主线程或UI线程`。...

2022-08-28 10:02:22 243

原创 【操作系统】进程间的通信——共享内存

共享内存机制是允许两个或多个进程(不相关或有亲缘关系)访问同一逻辑内存的机制。它是共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常安排为同一段物理内存。

2022-08-25 11:57:47 677

原创 【操作系统】进程间的通信——信号量

- 信号量就类似与马路上的红绿灯,来控制人们在各个路口朝各个方向上的行进,从而更好地有规划的使用这条道路。- 在程序中,信号则对进程们的执行进行控制。

2022-08-24 17:42:17 381

原创 【操作系统】进程间的通信——消息队列

- 消息队列,用于从一个进程向另一个进程发送数据。- 但仅仅把数据发送到一个"队列"中,而不指定由哪个进程来接收。- 消息队列独立于发送消息的进程和接收消息的进程。每个消息队列都有一个标识,只有持有这个标识的进程才可以去里面拿消息。

2022-08-24 14:39:14 1326

原创 【操作系统】进程间的通信——管道

- 进程间的通信(IPC-Inter-Process Communication)有多种方式,管道是其中最基本的方式。- 管道是`半双工`的,即是`单向`的。- 管道是FIFO(先进先出)的。- 在实际的多进程间通信时,可以理解为有一条管道,而每个进程都有两个可以使用管道的"端口",分别负责进行数据的读取与发送。

2022-08-23 20:52:13 1204

原创 【操作系统】进程间的通信——信号

什么是信号?信号是给程序提供一种可以处理异步事件的方法,它利用**软件中断**来实现。我们无法自定义信号,所有信号都是系统预定义的。

2022-08-22 12:25:08 222

原创 【操作系统】孤儿/僵尸/守护进程

一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被**init进程所收养**,并由init进程对它们完成状态收集工作。

2022-08-18 10:42:49 154

原创 【Linux】多进程高并发设计框架示例

【Linux】多进程高并发设计框架示例。

2022-08-17 19:44:24 249

原创 【操作系统】进程的创建与销毁

程序就是一堆指令和数据的集合,这个集合反映在了一个静态可执行文件和相关的配置文件等。操作系统可以运行多个程序。实际上,CPU的执行是很快的,而待运行的程序很多,那么为了让操作系统运行多个程序,CPU会把它的执行时间划分成很多段,比如每一段是0.1秒,那么就可以这样A程序运行0.1秒,然后B程序运行0.1,然后C程序运行0.2秒,因为这个切换很快,所以我们感觉程序是同时运行的。......

2022-08-06 18:05:28 158

原创 【Log4cpp】项目日志Log4cpp的简单使用

开源的C++类库Log4cpp提供了很多功能,帮助我们的应用程序更方便地记录日志。

2022-08-04 17:28:55 341

原创 【Linux】项目日志——输出重定向

在通常情况下,Linux/UNIX每个程序在开始运行的时候,都会自动打开三个标准stream(流),分别为标准输入流stdin(文件描述符0),标准输出流stdout(文件描述符1),标准错误输出流stderr(文件描述符2)。Linux的本质就是一切皆文件,输入输出设备也是以文件形式存在和管理的。......

2022-07-25 16:54:32 683

原创 【iniparser】项目配置工具iniparser的简单使用

对于很多程序中要用的参数如果是可变的,那么最好的处理方式就是通过main函数进行参数传递,或者从别的地方去获取,这其中之一的做法就是使用配置文件,在一个成熟和架构完善的系统中,一般都会做到自动配置,自动部署。所以有的系统里会有一个单独的配置服务存在,其它的每个服务配置都会从配置中心服务获取。运维人员会通过操作界面把配置信息下发到配置中心服务,其余服务从配置中心获取变更信息。。...

2022-07-24 22:56:37 235

原创 【GoogleTest】GoogleTest单元测试(1)快速上手

GoogleTest是Google的一套用于编写C++测试的框架,可以运行在多个平台上(包括Linux、MacOSX、Windows、Cygwin等)。基于xUnit架构,支持很多好用的特性,包括自动识别测试、丰富的断言、断言自定义、死亡测试、非终止的失败、生成XML报告等等。以下简称GTest。......

2022-07-19 19:24:31 705

原创 【Linux】内存检测工具Valgrind

Valgrind是运行在Linux上的一套基于仿真技术的程序调试和分析工具,作者是获得过Google-O’Reilly开源大奖的JulianSeward,它包含一个内核——一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务——调试,分析,测试等。内存检测,使用它的工具。...

2022-07-16 12:37:46 539

原创 【Linux】直接打印堆栈调试信息

输入最后第一个地址会显示?0暂时还未解决,还请知道的小伙伴评论区解答下。**找到错误代码行号**使用addr2line命令。

2022-07-15 22:51:39 801

空空如也

空空如也

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

TA关注的人

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