自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【大端模式和小端模式】

例如:数组在大小端情况下的存储,以0x12345678为例。例如:16bit宽的数0x1234在cpu中存放的方式。

2023-11-16 09:29:18 48

原创 【WinDbg工具】

WinDbg是微软推出的一款用户态/内核态调试工具,,可以静态分析dump文件,也可以动态调试目标进程。

2023-10-24 09:39:19 195

原创 【云原生】

容器云是操作系统进程级的虚拟化技术云计算的基石是虚拟化技术,把计算、存储、网络等硬件资源虚拟为一个资源池。k8s作为新一代云计算平台,自2014年开源以来,得到了迅猛的发展,被称为影响未来10年云计算的革新技术2020年被称为k8s的生产力元年,逐步进入中小企业。k8s已经成为云原生服务编排绕不开的技术和标准。

2023-08-25 18:28:26 57

原创 【RAII机制】

RAII机制,中文含义为资源获取即初始化,用于管理资源的申请和释放,这个资源不光指的是内存,还包括锁、文件、socket等等。RAII通常用来解决内存泄漏问题。

2023-08-25 18:26:05 84

原创 【C++动态库的创建与调用】

1>>打开Visual Studio选择创建新项选择动态链接库(DLL),点击下一步。优点:动态库可实现与进程间资源共享,有一份就行;在链接阶段,与目标文件.o一起生成可执行文件。缺点:可执行文件大;3>>分别创建用于声明和定义函数的头文件.h和源文件.cpp。所需文件:dll文件。缺点:增加可执行文件的依赖性;优点:可执行文件依赖少;在运行时才被加载,与可执行文件是分开的。所需文件:头文件、dll文件、lib文件。加载方式:隐式加载和显式加载。2>>配置项目名称点击创建。4>>定义和实现我们的函数。

2023-08-25 18:21:05 532

原创 【VS编译器】

三方库等.lib文件所在的目录。:三方库等头文件所在的位置。:依赖的.lib文件名称。

2023-08-25 18:12:00 25

原创 【一起写Makefile】

关键字:自动化编译。如下所以的一个简单例子cc -o edit main.o sdb.o command.o # cc表示所用的编译器为gcc,-o 链接成一个exe文件cc -c main.c # -c 编译会变到目标代码,生成一个.o文件command.o : command.c defs.h \ # "\"表示换行command.hclean : # clean操作,方便重编译,保持文件的清洁使用变量、自动推导(1、看到.o文件,会自动把.c文件加到依赖关系中,cc -c 也会推导出来)

2023-08-24 23:58:27 38

原创 【dependency walker】

建立模块分层树形图,用于查看依赖关系。解决常见问题:缺少、无效的模块,导入、导出不匹配,循环依赖、不匹配的机器类型模块,模块初始化失败无需安装。

2023-08-22 23:58:33 90

原创 【IO模型】

在线程处理过程中,涉及到IO操作,那么当前进程不会被阻塞,而是去处理其他业务代码,等过段时间再来查询IO是否完成。常见的IO模型:同步阻塞IO、同步非阻塞IO、IO多路复用、异步非阻塞。其中AIO为异步,其他为同步。每次调用一次accept,只能处理一个客户端连接。当有大量客户端连接时,这种模型性能较差。在线程处理过程中,涉及到IO操作,那么当前进程被阻塞。IO操作完成后,通知线程。

2023-08-22 23:55:44 19

原创 【STL】

STL标准模板库泛型编程STL容器常用容器常见问题迭代器算法萃取泛型编程专注于对算法及其数据结构进行设计的编程模式C++中的模板体现的就是泛型编程,而容器、迭代器的实现依赖于模板(template),因此STL体现的的是泛型编程的思想STL容器常用容器类型底层实现特点vector动态数组增删、支持随机访问操作list以节点为单位存放数据,并不连续增删push_back()deque首尾增删、随机访问queuestack

2023-07-02 23:09:03 38

原创 Effective C++笔记

如果自己没有定义,编译器会自动定义4个函数构造函数、析构函数、拷贝赋值运算符(Aoperator=(constA&a))和拷贝构造函数(A(constA&a))上诉代码,被delete的p是基类对象,基类的析构函数调用,而子类的析构函数未被调用,导致“局部销毁”,引发内存泄漏。做法将对应的成员函数声明为private,且不予实现。解决办法自定义拷贝构造函数和赋值构造运算符。2、类中含有const的成员变量。1、类中含有引用的成员变量。我们先看一种错误的代码情况。............

2022-07-16 17:05:26 286

原创 《深度探索C++对象模型》笔记

《深度探索C++对象模型》笔记关于对象C++对象模型关于对象C++对象模型成员变量:静态、非静态成员函数:静态、非静态、虚函数1、虚函数表:类产生的指向虚函数的指针,放在表格中(一堆指针)2、每个类对象指向相关的虚函数表...

2022-03-05 00:01:40 271 2

原创 剑指offer、leetcode

目录链表二级目录三级目录查找排序二叉树堆/栈/队列动态规划其他BM80 买卖股票的最好时机(一)链表二级目录三级目录查找排序二叉树堆/栈/队列动态规划其他BM80 买卖股票的最好时机(一)假设你有一个数组prices,长度为n,其中prices[i]是股票在第i天的价格,请根据这个价格数组,返回买卖股票能获得的最大收益1.你可以买入一次股票和卖出一次股票,并非每天都可以买入或卖出一次,总共只能买入和卖出一次,且买入必须在卖出的前面的某一天2.如果不能获取到任何利润,请返回03.假设

2022-03-04 23:58:45 510 1

原创 《Mysql实战45讲》笔记及总结归纳

《Mysql实战45讲》笔记及总结归纳前言基础篇基础架构:sql语句如何执行?三级目录实践篇二级目录三级目录前言作为一名软件开发者,对数据库无疑是要非常熟悉了。不光要在执行sql语句的时候,明白它在数据库中如何执行,更要掌握诸多的数据库优化技巧,让你的软件系统超级流畅。基础篇基础架构:sql语句如何执行?MySql大致分为两层:server层和存储引擎。server层:存储过程、触发器、视图。存储引擎:数据的存储和提取。InnoDB等三级目录实践篇二级目录三级目录...

2022-03-04 23:55:26 888

原创 whireshark的使用

crtl+F 进行数据包关键字搜索。

2022-01-17 21:36:14 742

原创 【Kuburnetes学习笔记】

Kuburnetes学习笔记容器技术隔离技术(namespace)限制技术(Cgroups):rootfs文件系统Kuburnetes架构kubeadm方案Pod作业管理技术图谱如下:容器技术背景:对应用的打包和分发机制,保证开发环境、测试环境和分布环境的高度一致。功能:通过约束和修改一组进行的动态表现,创造出一个“边界”,将其约束和隔离在某个范围内运行虚拟机和容器的结构图如下:隔离技术(namespace)对进程上下文就行“障眼法”操作,如PID限制技术(Cgroups):限制一

2022-01-17 20:28:45 189

原创 查询服务端的监听信息

查询服务端的监听信息服务与监听端口服务与端口分析netstat命令lsof命令服务与监听端口在我所接触的DSS架构中,各个动能模块是以服务的形式存在的,当服务以服务端的角色被访问时,其监听端口便成为了服务端与其他来访问的服务之间进行数据交流的门户,其与“客户端”是一种一对多的关系。而当本服务作为“客户端”去访问其他服务时,则会重新选取其他未使用的端口,进行数据访问。服务与端口分析netstat命令在某DSS系统中,ADS(报警分发服务)作为“客户端”去连接DMS(设备管理服务),然而当设备产生一条

2022-01-15 16:41:35 431

原创 【单例模式】

目录什么是单例模式定义案例单例实现什么是单例模式定义单例对象的类只允许有一个实例存在。案例比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理单例实现// Singleton.hclass Singleton{public: static Singleton* Instance(); //1、Instance()是静态成员函数pro

2021-08-08 21:16:48 61

原创 【关于docker,我们需要知道什么】

关于docker,我们需要知道什么什么是dockerdocker常用操作功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入什么是docker你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Ma

2020-10-24 16:59:48 75 1

原创 SQL常用操作

1.可能有的童鞋只会插入行,不会插入列哦~~~alter table test add name varchar(20) after age//当然,删除一个字段就是drop咯alter table test drop name 2.待补充。。。

2020-09-22 15:30:16 56

原创 window环境下C++网络编程

1.服务器端步骤:创建套接字,绑定,监听,接收连接(accept)#include <iostream>#include<windows.h>#include<winsock2.h>using namespace std;#pragma comment(lib,"ws2_32.lib")void main(){ //API提供的调用方可使用的最高版本号 WORD wVersionRequested = MAKEWORD(2, 2); WSA.

2020-09-17 19:08:28 412

原创 观察者模式

观察者模式定义了对象间一对多的依赖关系,当一个对象发生变化,其他对象可以收到消息,这种交互也称为发布-订阅。所以应用场景为:当一个对象的改变,需要引起其他很多对象改变的时候。//目标类及其子类class Subject{public: virtual void attach(Observer* ob) = 0; virtual void detach(Observer* ob) = 0; virtual string state() = 0;};class Secretary:pu

2020-09-17 15:16:57 60

原创 工厂模式

工厂方法模式class LeiFeng{public: void Sweep() { cout << "雷锋扫地"; } void Wash() { cout << "雷锋洗衣"; }};class Ungraduate:public LeiFeng{};class Volunteer :public LeiFeng {};class Factory{public:

2020-09-15 23:59:52 146

原创 链表相关算法

1、反转链表。ListNode* reverseList(ListNode* head) { //设置3个指针,pre用于修改指针方向,temp用于保存原链表下一个节点的位置 ListNode* cur=head; ListNode* pre=NULL; ListNode* temp; while(cur) { temp = cur->next; cur

2020-09-14 17:04:12 145

原创 红黑树

一、背景在平衡二叉树(AVL)种,进行插入或删除操作后,需要对树进行调整,使其保持一个平衡状态,但是调整的成本很大,这时,有人提出了红黑树的概念。二、性质1.节点要么为红,要么为黑。2.根节点必须为黑色。3.红色节点的子节点必须为黑色(即没有连续的红节点)4.对于每个节点,从该节点到其后代叶节点的所有简单路劲上,黑色节点的数目必须相同(最长路径不操过最短路径的2倍)三、插入此部分较难消化,后期再补充。。。。。。。...

2020-09-14 14:44:44 62

原创 滑动窗口

问题:小明去商店买m件装饰品,买大小相差最小的,店中的物品数量为n,按照大小排列。,每个物品都有一个美观值k,小明买的商品美观值必须不小于k,请问有多少种方案。int main(){ int n, m, k; string str; cin >> n >> m >> k; vector<int> ve; for (int i = 0; i < n; i++) { int temp...

2020-09-14 12:50:50 73

原创 递归算法

1.典型的斐波那契数列f(x) = f(x-1)+f(x-2)。题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。思路:此题是青蛙跳台阶问题的进阶版,应用到递归思想。考虑前n-1、n-2……种情况下,多付1、2……元,所以,对应的数学表达为f(x) = f(x-1)+f(x-2)+f(x-3)……=2f(n-1)fountion(int n){ if (n = 1) return 1; els...

2020-09-11 19:11:03 115

原创 string

string substr(int pos,int size) //此函数返回截取的字符串部分,参数:1.开始位置 2.截取长度string::size_type find(string str) //此函数查找str在字符串中第一次出现的位置,返回string::size_type类型

2020-09-10 17:49:30 67

原创 字符串匹配相关

#include<iostream>#include<string>#include<vector>using namespace std;int main(){ //输入带验证的数字串 vector<string> inputs; string str; while (getline(cin,str)) { if (str.size() == 1) { ...

2020-09-10 17:30:06 91

空空如也

空空如也

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

TA关注的人

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