后端
文章平均质量分 71
编程菜菜_要努力
努力成为大神ing
展开
-
大小端转换
计算机中是以字节为基本单位,每个地址单元都对应着一个字节,一个字节为8bit。但是在c语言中,除了8bit的char之外,还有16bit的short型…存在如何将多个字节安排的问题,因此就出现了大端存储模式和小端存储模式。小端:高数据位存在内存的高地址位置;在小端机器中,多字节数据类型的二进制存储的最后一个字节首先存储。大端和小端是存储多字节数据类型(int、float等)的两种方式。大端:高数据位存在内存的低地址位置;在大端机器中首先存储第一个字节。假设整数被存储为4字节。从左往右是低地址到高地址。原创 2022-10-30 17:24:34 · 3035 阅读 · 0 评论 -
rabbitmq如何保证消息的可靠传输
rabbitmq消息可靠传输原创 2022-10-23 20:24:50 · 867 阅读 · 0 评论 -
键入网址后发生了什么
一个数据包在网络中的心路历程。原创 2022-10-03 21:02:02 · 689 阅读 · 0 评论 -
开源日志库log4cpp & muduo
c++开源日志库log4cpp、muduo原创 2022-09-11 22:55:14 · 564 阅读 · 0 评论 -
c++备忘录
c++代码中省略类的继承方式原创 2022-09-11 16:05:43 · 224 阅读 · 0 评论 -
Linux安装log4cpp
log4cpp安装及问题解决原创 2022-09-03 23:04:35 · 455 阅读 · 0 评论 -
MySQL的索引优化
MySQL的索引优化原创 2022-09-03 16:08:58 · 188 阅读 · 0 评论 -
MySQL常见的索引模型
索引是为了提高数据的查询效率,像书的目录一样。原创 2022-08-28 21:41:20 · 394 阅读 · 0 评论 -
计算机内存数值存储方式&进制
进制概念进制也就是进位制,是人们规定的一种进位方法。对于任何一种进制,x进制表示某一位置上的数运算时是逢x进一位。十进制是逢十进一、十六进制是逢十六进一、二进制是逢二进一。各进制数表示八进制是逢8进1,所以到8的时候向前进一位,变成10;十六进制10-15用A-F表示,逢16向前进一位,即为10(所有进制都是从最小0开始)64进制,所用的字符是0-9,a-z,A-Z,+,/“0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRS原创 2022-05-29 00:32:06 · 2956 阅读 · 0 评论 -
虚拟内存技术
虚拟内存是一个非常重要的概念,涉及到内存相关,先从内存的基础知识学起来~内存1. 什么是内存?内存的作用?背景:我们的数据、程序都是存放在硬盘中(外存),程序是在CPU中执行,外存是一种非常慢速的设备,CPU又是非常快速的设备,如果CPU需要处理的数据/程序直接从外存中取的话,会有大量的等待时间,等待存取操作的完成,所以引入了内存。定义:内存是用于存放数据的硬件,是一种高速的存储设备,程序执行前需要先放到内存中才能被CPU处理。(CPU直接从内存中取数据,这样就可以解决CPU与硬盘间原创 2022-01-22 17:33:29 · 1465 阅读 · 0 评论 -
MySQL连接池
1. 池化技术如果没有池的话,我们需要多次的创建和释放对象;如果放在池中可以统一的创建和销毁。池化技术能够减少资源对象的创建次数,提高程序的响应性能,特别是在高并发下这种提高更加明显。使用池化技术缓存的资源对象有如下共同特点:对象创建时间长 对象创建需要大量资源 对象创建后可被重复使用常见的线程池、内存池、连接池、对象池都具有以上的共同特点。线程池和连接池区别线程池:主动操作,主动执行任务连接池:被动操作(类似内存池),池的对象被任务获取,执行完任务后归还2. 数据库连原创 2022-01-15 20:06:17 · 1137 阅读 · 0 评论 -
c++程序调用c函数(extern “C“的使用)
一、概念c++程序调用c函数,即为在xx.cpp文件中调用在func.c文件中实现的函数extern "C"的主要作用是为了实现c++代码能够调用c语言代码。加上extern "C"后,这部分代码编译器按c语言的方式进行编译和链接,而不是c++的方式。二、原理由于c++中需要支持函数重载,所以c和c++中对同一个函数经过编译后生成的函数名是不同的,这就会导致一个问题,如果在c++中调用一个使用c语言编写模块中的某个函数,c++是按照c++的名称修饰方式来查找并链接这个函数,就会发生链接错误。原创 2022-01-15 00:17:54 · 6731 阅读 · 0 评论 -
mysql的auto_increment
auto_increment作用:用来指定一个自增的初始值; 如果不指定值默认初始值为1建表语句插入数据插入第一个数据可以看到id是从2开始自增主键不能保证连续递增在空表执行insert into aa values(null,1,1); 插入一条数据后,再执行show create table命令表定义中AUTO_INCREMENT=3,表示下一次插入数据时,如果要自动生成自增值,会生成id=3。自增值保存在表结构定义里。实际上,表结构定义存放在后缀名为.frm的文件中,但原创 2021-12-11 17:55:34 · 12150 阅读 · 2 评论 -
IO多路复用(select、poll、epoll)
TCP服务器可以用下面图示来解释:迎宾相当于listenfd,一直在监听客户端的请求,当有客户到来,将客户指引给大堂内的服务员,此时即建立了连接,大堂服务员相当于connfd,之后和当前客户端的所有交互都是connfd进行。建立连接的三次握手是在协议栈中完成的,不发生在服务端的任何api中,不受应用程序控制IO多路复用IO多路复用的三种实现方式:select,poll,epollselect函数定义:该函数允许进程指示内核等待多个事件中的任何一个发生,并只在有一个或多个事件发生或经历一段指定的原创 2021-11-28 17:13:32 · 1716 阅读 · 0 评论 -
【mysql】insert select 同一个表
最近遇到的一个mysql的问题,记录下来分享给大家~建一个测试表,并插入数据# 建表语句mysql> show create table test;+-------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------原创 2021-11-27 16:56:46 · 1605 阅读 · 0 评论 -
c++11 右值引用和移动语义
c++11引入了右值引用和移动语义,可以避免无谓的复制,提高了程序性能。左值表达式结束后仍然存在的持久对象,可对表达式用&取地址;变量,可以放在=的左边(也可以放右边)。常见的左值:变量、函数或数据成员的名字返回左值引用的表达式,如++x、x=1、cout << ’ ’字符串字面量如 “hello world”右值表达式结束时就不存在的临时对象,不可用&取地址,临时对象;只能放在=右边,没有名称无法对其进行赋值。常见的右值:返回非引用类型的表达式,如 x原创 2021-11-24 21:57:56 · 541 阅读 · 0 评论 -
c++11 智能指针
一、智能指针c++程序设计中经常会用堆内存,程序员要自己管理内存的申请和释放。使用原始指针,容易造成堆内存泄漏(忘记释放),二次释放;使用智能指针能更好的管理堆内存。c++中四个智能指针:auto_ptr,unique_ptr,shared_ptr,weak_ptr,auto_ptr已被c++11弃用头文件 #include <memory>1. shared_ptr(共享的智能指针)1)定义:允许多个指针指向同一个对象,内部维护一个计数器,无论何时拷贝一个shared_ptr,计数器原创 2021-11-22 23:25:17 · 4288 阅读 · 1 评论 -
红黑树知识总结
为了解决二叉树多次插入新结点而导致的不平衡–> 诞生了红黑树一、红黑树的性质(红黑树是一种自平衡的二叉查找树)每个结点是红的或黑的根结点是黑的每个叶子结点是黑的如果一个结点是红的,它的两个儿子都是黑的对于每个结点,从该结点到其子孙结点的所有路径上包含相同数目的黑结点红黑树中有key,value。结点上我们可以看到的数字是key,value一般不会显示出来// 定义红黑树的结点typedef int KEY_TYPE;typedef struct _rbtree_node {原创 2021-11-20 21:33:27 · 500 阅读 · 0 评论 -
B树与B+树
一、内存与磁盘区别内存:速度快,断电以后数据消失磁盘:速度慢,数据持久存储大小CPU < 内存 < 磁盘CPU可以通过CPU指令访问内存,但不可以访问磁盘二、B树特征:多叉树,叉的个数不限,是平衡的性质:一棵M阶B树,满足以下条件B树是一棵多路平衡的查找树,每个结点中的关键字都按照从小到大的顺序排列,每个关键字的左子树中所有关键字都小于它,右子树中的所有关键字都大于它。1)每个结点至多拥有M棵子树 (结点有5个元素/关键字,最多拥有6棵子树)2)根结点至少拥有两棵子原创 2021-11-20 15:41:24 · 449 阅读 · 0 评论