自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2022-09-01 10:09:46 1131

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

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

2022-08-29 12:12:06 827

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

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

2022-08-26 21:08:02 1068

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

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

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

原创 【Python】对比嵌套JSON的不同

此对比默认json arry中的顺序相同,在Python中即list中出现的顺序相同。将结果保存在对应的xx_ret中。

2024-01-09 17:36:20 567 2

原创 【Python】解析CPP类定义代码,获取UML类图信息

解决方法(已在上述代码中使用): 拷贝文件,去掉其中的中文字符,保存文件,用GBK编码集保存。原因: 给定文件中有GBK无法表示的字符。启动程序,输入路径即可。

2023-11-19 17:36:46 213 1

原创 【CMU15-445 FALL 2022】Project #1 - Buffer Pool

P1 拖了好久才完成,在公司实习时弄了一些,之后回学校实训弄了一些,最后还是参考了别人的代码,后面的内容要加速了。下面是一些额外的辅助变量(不是必须得,需要根据你的具体实现来选择。C++17新特性,RAII机制的并发编程技巧。page和frame是什么关系?buffer pool的目的。以下内容来源于ChatGPT。以下内容来源于ChatGPT。什么是LRU-K替换策略?

2023-07-23 20:32:11 362

原创 【CMU15-445 FALL 2022】Project #1 - Extendable Hashing

下面以插入这几个数为例,其中元素仅仅声明了key,并未标注对应的value,因为是根据key进行插入,以及查找等操作的,在下面的示例中, 你也可以理解为key == value。发生溢出,判断global_ depth _ 与发生溢出的桶的depth_大小关系。如下图所示,二者相等,依次进行->目录扩张->桶分裂->重新连接。完成插入,后面越插入越复杂了,所以就到此为止了,注意: 不同的初始条件,插入元素得到的结果不同。再次尝试插入6,还是溢出,再进行判断。又尝试插入6,此时完成插入。

2023-07-07 21:32:30 575

原创 【QT】解决应用程序收不到指定端口数据的问题

在解决问题的时候需要理清思路,想想产生问题的可能。可能有些想法会一闪而过,如果可以的话记下来也不错。

2023-06-19 21:47:28 1707

原创 【QT】解决继承QThread的子线程导致程序无法关闭&主线程关闭太快导致子线程中的槽方法未执行

使用串口进行通信子线程实现。

2023-06-08 21:05:36 1122

原创 【CMU15-445 FALL 2022】Project #0 - C++ Primer

字典树又称前缀树,是一种有序树,用于保存关联数组,其中的键通常是字符串.——

2023-04-17 20:41:27 1509 2

原创 Win10搭建局域网FTP服务器用于文件传输,区分匿名用户与登录验证身份,给予不同权限。

学校机房上课需要在自己电脑和机房电脑之间拷贝文件,索性搭建一个FTP来使用。

2023-03-08 15:25:12 678

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

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

2023-01-28 12:13:58 626

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

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

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

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

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

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

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

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

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

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

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

2022-12-23 18:33:22 1110

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

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

2022-12-11 20:14:52 1485

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

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

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

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

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

2022-11-25 22:58:38 1374

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

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

2022-11-13 18:00:22 755

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

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

2022-11-10 23:44:17 500

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

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

2022-11-09 11:56:27 847

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

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

2022-11-07 14:26:38 944

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

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

2022-11-07 01:00:20 312

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

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

2022-11-07 00:40:05 648

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

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

2022-11-03 21:17:36 914

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

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

2022-11-02 10:52:30 294

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

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

2022-11-01 09:14:37 567

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

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

2022-10-21 00:30:14 1014

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

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

2022-10-19 09:45:54 735

原创 【Socket】有限状态机

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

2022-10-03 12:43:10 775

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

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

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

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

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

2022-08-28 10:02:22 565

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

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

2022-08-25 11:57:47 1133

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

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

2022-08-24 17:42:17 877

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

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

2022-08-24 14:39:14 2918

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

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

2022-08-23 20:52:13 3160 1

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

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

2022-08-22 12:25:08 566 1

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

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

2022-08-18 10:42:49 393

空空如也

空空如也

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

TA关注的人

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