自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小杰312的博客

分享C++方向各种基础知识学习随笔

  • 博客(80)
  • 资源 (12)
  • 收藏
  • 关注

转载 数据库设计范式及原则, 好文推荐

数据库设计范式及原则, 好文推荐。这是我之前在学习数据库表设计,拆表,设计表规则时候看到的文章。写的很好。故而转载以方便以后反复查阅。

2024-04-18 15:13:18 24 1

原创 使用 hiredis 客户端库封装一个简单的 Redis 类

redisConnect返回值都是靠redisContext连接上下文来接收的 eg: m_publish_context, m_subscribe_context,之后就通过操作redisContext对象来完成与Redis服务器的交互过程。然后,它会等待所有命令执行完成,并将执行结果存储在相应的回复对象中,以便程序后续处理。函数用于将输出缓冲区中的 Redis 命令发送到 Redis 服务器,并等待服务器的响应。它会阻塞当前线程,直到所有待发送的命令都已经发送完成,并且等待所有命令的执行结果返回。

2024-04-18 14:35:46 786 3

原创 Web服务器架构设计(学习笔记)

Redis 的主从模式(1 master + n slave读写分离/负载均衡、应对读多写少,数据备份、主挂掉之后人工手动故障转移、恢复),sentinel/哨兵模式(自动切换、让哨兵节点进行监控故障的发生和转移,监控+通知+自动故障转移),cluster/集群模式(数据切片、横向扩展、打破单机硬件限制、适合数据量巨大的缓存场景)。在无状态服务中,虽然服务端通常不会直接存储客户端的会话信息,但是可以使用一些外部存储或者数据库来存储会话信息,实现类似于有状态服务的功能。比较适合流程简单,直观的开发场景。

2024-04-11 16:58:49 1007 5

原创 C/C++语言相关常见面试题总结

RTTI(Run-Time Type Information)是 C++ 提供的一种机制,用于在运行时获取对象的类型信息。RTTI 允许程序在运行时查询对象的类型,以便进行类型安全的操作,例如动态类型转换和异常处理。RTTI功能体现在两个运算符上:typeid运算符和dynamic_cast运算符typeid运算符,用于返回表达式的类型,可以通过基类的指针获取派生类的数据类型.因为虚表指针的初始化在构造函数中完成,由于此时虚表指针还没有完成初始化,所以基类的构造函数不能定义为虚函数。

2024-03-25 17:30:56 827 1

原创 春招面试高频题目总结

尽可能的利用抽象层隔离对具体对象的依赖),开闭原则(一个类应该对扩展开放,对修改关闭),组合优于继承,里氏替换(子类必须完成父类的职责),单例职责原则(一个类尽可能只有单一的一个变化点,只有一个引起它变化的原因)。因此,可以说聊天室应用中的即时通讯技术与发布订阅模式具有相似的机制和特点,都是为了实现消息的发布和订阅,以实现实时通讯的目的。怎么解决死锁的问题,如何避免死锁,定位死锁。通过以上优化查询的方法,可以有效提高MySQL在处理大表时的查询性能和效率,从而减少查询时间和资源消耗,提升系统的整体性能。

2024-03-19 11:52:05 832 3

原创 踩坑(乱改配置,电脑都打不开,无奈暴力重装)文末有惊喜喔

总结我的论文项目的傻逼开端。(想的很好,思路也对,也做了,但是过程和结果好像并不是想象中那么容易)故事讲解:本来我只有一台电脑,这个电脑上面东西比较杂。学习资料呀,笔记呀,各种软件呀就很多。我觉得呢?我如果在这台电脑上写毕设项目,一旦出现问题,尤其是环境问题之内的。我也不可能把这个电脑重装呀。那么多数据,备份也麻烦。加上也舍不得。于是一个想法在脑中萌生。买一台备用机,显卡可以垃圾,但是内存,处理器配置要好。于是我就找了一个不需要用到电脑的女孩子个体户买了一台二手的。刚买回来,很激动,很干净的环境。我兴致勃勃

2024-03-16 11:50:19 599 2

原创 消息队列思想学习(以及池化思想延展)

引言:为啥要把消息队列,池化技术放在一块进行思考,我觉着它们都利用队列容器来解耦合。都有着类似的思想在其中。也都有着生产者消费者的设计思想和理念在里面。

2024-03-16 11:06:51 1002 3

原创 Redis学习路径(构建体系)

Redis学习路径(构建体系)

2024-03-02 10:49:13 446 1

原创 Redis高性能策略以及各种缓存异常问题和解决方案

Redis高性能策略以及各种缓存异常问题和解决方案。浅显版本笔记,仅用于个人快速回忆

2024-02-27 12:28:32 694 1

原创 从软硬件以及常见框架思考高并发设计

三高:高性能,高可靠/用,高可扩展。是在高并发基础之上的。想一想,如果只是上百并发量实现三高。对比上百万并发量实现三高。自然是后者更难。所以哦我们是站在高并发的基础上去研究高性能,高可用,高可扩展技术的。

2024-02-24 17:47:03 1217 1

原创 Mysql事务细节研究(进阶篇)

分享,成体系,避免无数知识碎片的冲击。将自己的所学用语言和视频讲出来,整理出来(成体系了,解决了很多问题,文章带有自己的风格,易懂)。费曼学习法(将一个新知识快速深入理解,记忆的方式就是探讨学习或者讲给别人或者写作,视频分享)。

2024-02-19 10:24:21 228 3

原创 基于无锁循环队列的线程池的实现

个人笔记:因为是跟着b站的教学视频以及文档初步学习,可能存在诸多的理解有误,对大家仅供借鉴,参考,然后是B站up阳哥的视频,我是跟着他学。大家有兴趣的可以到b站搜索。加油,一起学习。应用场景设计实现等待策略模块第一点,为啥需要封装不同的等待策略?第二点,有哪些等待策略?第三点,如何实现?对于第一个问题,是很容易根据常识得出结论的,就是具体问题,具体分析。具体场景,具体应对。在多线程编程的环境下,不同的应用场景,要求就需要应用不同的等待机制。每种等待策略。都有着它独特之处,有着它的特点。

2024-01-21 16:00:13 1119 4

原创 个人的感悟观点,即将毕业的应届生的对自己未来方向的思考和认识

复习的历程带个我心态的磨练,让我学会再在一种一眼看不到结果的过程中学着去自律,坚持。如果大家选数一,也要重视对知识的深度,基础的把握,框架性的,特定的训练减少。更早的进入套题的训练,重视套题的训练,以及抗压能力了。至于英语政治我没有太大的发言权,但英语我感觉重视单词,重视长难句,但最重要的还是单词。白天思维好,写作,写代码,学习别人成熟的基础组件,体味蕴含的面向对象的设计模式,以及项目导向性复习语法呀,网络呀各种重要知识。晚上在家,没有那么自控了,所以我选择写,写题目,写复试涉及的这些题目。

2024-01-13 12:07:07 1088 2

原创 多线程模板应用实现(实践学习笔记)

多线程模板应用实现(实践学习笔记)

2024-01-08 00:05:07 627 3

原创 搜索算法特训 ----- Week5/6/7 (它太重要了)

搜索算法的核心就在于在遍历搜索空间所有状态的过程收集特定的路径或者状态的过程。几乎无数算法的基础。如果是一道大家都没有做过的题目,我想大家拿到手上的第一个想法应该都是思考遍历。穷举。在穷举的过程中发现可以利用某一算法思想或是某一快速查找的数据结构对时间复杂度进行降阶。比如单纯的搜索 + 记忆化 + 状态积累。(动态规划) 单纯的线性查找 + hash表或者红黑树可以实现 O(1) 或者是 O(logN) 的查找时间复杂度降阶..... 种种迹象,无一不在重复着搜索算法以及穷举思想的重要性.

2023-06-26 17:47:05 363 6

原创 实训可视化项目小结 --- 开启Python初始之旅

Python学习成本相较于Java和C++更低,而且如果读研,到了实验室绝对要用。它可以帮助我们在C++难以快速深入和触及的方向让我们对一个项目,前后端呀感受的更多。而且它用来写个脚本,做个可视化。写个爬虫,部署一个框架,搭建服务器。都是非常的方便。学习,术业有专攻,方向要专一自然不错。但是如果有一颗包容的心,不畏惧新的东西,去学他。其实最后发现是可以学会的。也并没有我们想象的那么神秘。 ----- 最后祝大家天天开心,多锻炼身体,IT的学习枯燥,我们更要注重身体的保养。

2023-05-26 12:25:41 1239 7

原创 二分特训上------刷题部分----Week4(附带LeetCode特训)

二分特训上------刷题部分----Week4(附带LeetCode特训),真的,兄弟们,看看不吃亏,真的看懂,吃透,二分搜索随便打。很猛。

2023-05-17 19:08:24 1106 5

原创 二分特训上------理论部分----Week4(附带LeetCode特训)

上述代码改进代码如下:末尾有_的就是优化的可以避免死循环的二分骚操作。只能留着明天写下回了。1111111111111110000000型。000000000001111111111型。二分LeetCode切题。

2023-05-14 23:46:49 293 1

原创 LeetCode特训 -- Week3 (字符串)

LeetCode特训 -- Week3 (字符串),搞定字符串没问题。

2023-05-07 17:36:13 510 10

原创 LeetCode特训 --- Week2 (主打滑动窗口 + 字符串匹配题目)

如果,兄弟们可以看懂上述理论,那接下来完全有必要可以再瞅瞅,如果看不懂理论,下面还有滑动窗口题目的诸多细节也可以学习。究其根本,滑动窗口也仅仅只是一种思维而已,具体如何实现,各有所好,上述也仅仅只是提供一种思维角度。题目做得慢,bug频出,很多时候是由于各位兄弟蒙没有去自己总结这样的套路。虽然,编程讲究随意性,大佬不管怎么写都没问题,但是人家哪些杀出来的,真不是咱这点小训练可比的,最好就是一周周,勤劳的一个一个小点的攻克,攻克完了总结出自己的切题模板,套路出来

2023-04-23 12:27:10 530 5

原创 LeetCode 特训 ---- Week1

快慢指针(前后指针)用的好,链表,数组起码轻松打十个。删除有序数组中的重复项Ⅱ。删除链表中的重复元素。

2023-04-16 18:25:22 778 2

原创 C++11新特性有效总结

C++11新特性有效总结, 自我使用学习

2023-04-15 20:35:36 1552 4

原创 数据库主从复制,读写分离,分库分表理解 (数据库架构演变)

数据库主从复制,读写分离,分库分表理解 (数据库架构演变). 小杰以自己初步理解, 写下这个文章用于巩固和复习工作, 以后理解更深入之后会再做迭代更新

2022-12-07 21:55:35 2478 6

原创 MySQL日志(undo log 和 redo log 实现事务的原子性/持久性/一致性)

MySQL日志(undo log 和 redo log 实现事务的原子性/持久性/一致性)

2022-12-01 16:13:14 2716 8

原创 Mysql视图和触发器

视图和触发器的简单理解和使用。

2022-11-29 22:56:45 1783 5

原创 编译原理之词法分析器随笔和简单实现

编译原理课程要求写一个简单的词法分析器. 于是索性简单的实现了一下, 兄弟们有需要的可以自取.

2022-11-26 10:28:24 1080 11

原创 MySQL隔离级别的底层理解(MVCC+锁)

个人学习,理解写了一下MVCC多版本并发控制和锁,以及对事务隔离级别底层实现做了个对应。以及死锁现象和日志的粗浅理解. 希望和大家相互交流学习进步

2022-11-23 16:20:26 2204 9

原创 MySQL索引理解

MySQL索引理解 , 个人对于MySQL数据库的索引的一些粗略见解, 和大家分享一下

2022-11-16 17:23:08 1207 13

原创 热乎的笔试题目

热乎的笔试题目, 跟兄弟们分享一下,亲试, 貌似这个笔试题目有点固定.

2022-10-28 17:56:29 2064 1

原创 小型WebServer项目

小型WebServer项目, 面试项目必备好吧. 后端开发人手一份

2022-10-27 09:37:37 1171 14

原创 保姆级SGI STL内存池源码刨析教程

保姆级SGI STL内存池源码刨析教程, 主要想跟大家分享一些源码学习习惯和学习心得的交流

2022-10-17 10:30:56 741 6

原创 Mysql数据库连接池的简单实现(基于C++11), 基础学完, 包教包会.

Mysql数据库连接池的简单实现(基于C++11), 基础学完, 包教包会. 保姆级别教程, 作为简单上手项目再合适不过了

2022-10-10 21:09:23 1752 16

原创 Git快速上手, 理解学习

写作初心, 便于自己以后的知识回顾,查阅,将自己所学的Git基本使用做个简单的总结和自己的理解整理分享给大家, 希望也能对大家可以有所帮助.

2022-07-24 11:25:20 387 3

原创 强推Linux高性能服务器编程, 真的是后端开发技术提升, 沉淀自身不容错过的一本经典书籍

强推Linux高性能服务器编程, 真的是后端开发技术提升, 沉淀自身不容错过的一本经典书籍

2022-06-22 09:42:15 3253 54

原创 设计模式必知必会系列终章

好了各位老铁们,设计模式到此结束了.感谢各位兄弟们从一到现在的陪伴设计模式的学习确实是有点虚无的. 特别是我们这些没啥工作经验的,学完之后根本不知道咋用到实际项目中实现重构项目的设计,持续重构形成自己的设计模式。 我们也没有经历过没有任何设计原则的Bad Smell Code的维护,所以体会是没有实践过的前辈们深入的但是我觉得提早了解和具备遵循设计原则这样的大思想是我们需要具备的,不一定强行套入设计模式,可以先是我们的代码遵循设计原则。 遵循设计原则的代码往往更容易重构和维护......

2022-06-20 09:49:29 1395 106

原创 正确的姿势学习设计模式,设计模式必知必会(第二篇) --- 面试, 提升篇

正确的姿势学习设计模式,设计模式必知必会(第二篇) --- 面试, 提升篇

2022-06-14 18:58:21 617 79

原创 正确的姿势学习设计模式,设计模式必知必会 --- 面试, 提升篇

设计模式必知必会 --- 面试, 提升篇, 一定要以正确的姿势学习设计模式, 不要去死背固定的设计模式,而是体会其中的设计原则,重构中学习设计模式

2022-06-13 10:28:41 1117 91

原创 高并发服务器的限制有哪些,如何提高并发量

高并发服务器的限制有哪些,如何提高并发量

2022-05-30 08:38:10 3419 100

原创 大学生应不应该大二就去实习, 大学应该去干些什么, 怎么知道自己是否适合竞赛

大学生应不应该大二就去实习, 大学应该去干些什么, 怎么知道自己是否适合竞赛

2022-05-26 10:55:04 5679 77

原创 MySQL索引的理解学习,面试不问索引原理就是事务原理

MySQL索引的理解学习,面试不问索引原理就是事务原理

2022-05-25 07:21:31 2439 108

回溯算法的刷题笔记,回溯专训

这个是当时我对于回溯算法的学习写的回溯算法笔记,针对于回溯算法选取的最为经典的题目,从简单到复杂的写回溯,其中包含了回溯的经典题目,比如八皇后呀等等,希望可以对于大家有所帮助

2022-04-03

滑动窗口刷题笔记, 针对初学滑动窗口的人员合适

这个是我当时初学滑动窗口的时候学习的知识点,当时学习滑动窗口,主要是从双指针的角度入手学习,当时针对滑动窗口选取的经典的练习题目,现在想要分享给大家

2022-04-03

初学数据结构时候做的练习题集合笔记

初学数据结构时候做的练习题集合笔记,是在自己处于菜鸟阶段写的所有的数据结构的刷题笔记,过程都是很艰难的,从自己最low的时候走上去的

2022-04-02

经典的素数筛算法学习笔记

包含了素数筛和线性筛算法的实现和理解,是很实用的一种筛选算法, 筛选算法的本质是一种标记算法

2022-04-02

C语言经典书籍的读书笔记

当时学完C语言之后不知道干啥,就去读书,然后将读书的内容做成的读书笔记PDF文档

2022-04-02

C++经典书籍的读书笔记

C++经典书籍的读书笔记, 之前学完C++基本语法之后为了精进自己的C++读取的数据所做成的读书笔记

2022-04-02

参加LeetCode竞赛所学习地题目,在厮杀学习中进步:

参加LeetCode竞赛所学习地题目,在厮杀学习中进步, 自己参加地几场LeetCode周赛,参加完之后自己写的算法笔记,效果不知道,自己地算法小结笔记,初学还是有帮助地

2022-03-31

已掌握的各种排序算法的总结

已掌握的各种排序算法的总结, 非常的适合初学者来学习这个算法,是我当时初学排序的时候的一些思维和总结还有思想,排序算法包含了各种算法思维,学习排序不仅仅只是学习的他的实现,更是可以从中获取各种算法思维的培养

2022-03-30

位操作运算符进行刷题,一篇笔记拿下位运算操作

/* 1s代表的是一堆的二进制1 1.首先是异或操作: 用的很多 ^ 同为0 异为1 x^1s=~x x和一堆的二进制1进行异或得到的结果就是~x 因为0^1=1 1^1=0 (解释:二进制和1异或操作相当于取~) x^(~x)=1s(1s代表的还是一堆的二进制1) 当然啦,每一位都是和自己的~异或操作,最后就是一堆的1 x^x=0 //重要的操作 当然很好理解,相同的二进制位异或起来就是0 异或实现swap(a,b) a^=b;b^=a;a^=b; 实现了a和b的值的交换,经典的交换两个整形数据 a^b^c=a^(b^c)=(a^b)^c //associative 交换结合律 */

2022-03-30

动态规划刷题笔记,面试必须必知必备

***动态规划的设计方法*** : 正推: 从初始状态开始,通过对于中间阶段的决策的选择,达到结束状态,我们叫做递推 倒推: 从结束状态开始,通过对于中间阶段的决策的选择,达到开始状态,我们叫做记忆化搜索(利用递归进行) ***记忆化搜索*** :实现一个函数,用搜索的方法实现DP的更新,通常用于解决转移顺序不好确定的DP,这个转移方向顺序不好确定就可以使用记忆化搜索更加便于理解(有的时候很少)这种一般回溯也是可以解决的

2022-03-30

C语言利用EasyX实现图形化界面的小游戏

C语言利用EasyX实现图形化界面的小游戏,可实操性很强,干货满满,学完C语言不知道干啥,可以写着玩一下

2022-03-30

LeetCode算法数据结构专训笔记,

LeetCode算法数据结构专训笔记, 刷完之后对于自生的算法能力有着绝对的提升, 而且好处,题目分类清晰,专项专训, 题目存在套路,不会出现说刷不下去的问题存在

2022-03-26

空空如也

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

TA关注的人

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