自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Mybatis Generator超详细配置【转载】

SpringBoot集成Mybatis Generator

2023-05-31 16:31:18 129

原创 springboot多模块创建配置及测试

父工程:tmall-parent子模块1:assembly-启动模块子模块2:web模块子模块3:service模块子模块4:dal模块子模块5:common模块模块间的依赖关系:assembly -> web -> service -> common -> dal选择file -> new -> project,然后选择Spring Initializr点击next,由于是父工程,故只要选择SpringBoot版本即可,其他依赖可以不选择,然后点击finish。删除不需要的文件,仅保留

2023-05-30 20:58:39 1206

原创 SpringBoot集成log4j2

springboot集成log4j2

2023-05-30 19:27:08 1023

原创 error while loading shared libraries: libevent-2.1.so.7: cannot open shared object file

系统版本:ubuntu20.04LTS。 libevent库版本:libevent-2.1.so.71、问题描述在使用libevent库编写服务端及客户端程序时,g++编译生成可执行文件后,运行该可执行文件出错。报错: ./bev_server error while loading shared libraries: libevent-2.1.so.7: cannot open shared object file: No such file or directory2、产生原因及解决办法产

2021-09-02 21:37:35 4030

原创 libevent库安装与使用(持续更新中......)

1、在libevent官网下载源文件2、解压该文件,tar zxvf 压缩包名称3、进入该解压后的文件,执行./configuremakesudo make install遇到的问题:报openssl错误解决办法:需要安装libssl-dev,执行以下指令即可。sudo apt-get install libssl-dev...

2021-09-01 19:00:12 318

原创 MySQL数据库优化(一)

一、索引1、分类:单值索引 (index): 一个表可以有多个单值索引唯一索引(unique index): 不能重复复合索引 : 多个列构成的索引2、创建索引方式一:create 索引类型 索引名 on 表名(字段名)单值索引创建:create index dept_index on tb(dept);唯一索引创建:create unique index dept_index on tb(dept);复合索引:create index dept_name_index on tb

2021-09-01 18:21:03 66

原创 ftp服务器安装、配置与登录(附部分出现的问题及解决办法)

环境:VM虚拟机,Ubuntu20.04LTS1、vsftpd安装sudo apt-get install vsftpd2、vsftpd配置cd到 /etc目录下,找到vsftpd.conf文件,使用vi/vim或者gedit编辑该文件cd /etcsudo vim vsftpd.conf具体配置内容如下图所示配置完成以后,然后重启一下vsftpd服务即可。service vsftpd restart3、登录ftp服务器在另外一台虚拟机环境上登录,环境同样是VM + Ubun

2021-08-21 13:46:38 722

原创 Linux压缩包管理命令详解

1、gzip 和 bzip21、gzip压缩成.gz格式,只能压缩文件,不能压缩目录语法:gzip 文件名1 文件名2 .... 压缩文件gunzip 文件名1 文件名2 .... 解压文件2、bzip2压缩成.bz2格式,只能压缩文件,不能压缩目录语法:bzip2 文件名1 文件名2 .... 压缩文件bunzip2 文件名1 文件名2 .... 解压文件2、tar1)、参数:c – 创建 – 压缩x – 释放 – 解压缩v – 显示提示

2021-08-20 20:57:27 118

原创 MySQL数据库常用命令(四)

索引添加索引是给某一个字段或某些字段添加索引。1.1、什么是索引?有什么用?索引就相当于一本书的目录,通过目录可以快速的找到对应的资源。在数据库方面,查询一张表的时候有两种检索方式:第一种方式:全表扫描第二种方式:根据索引检索(效率很高)注意:索引虽然可以提高检索效率,但不能随意添加索引,因为索引也是数据库当中的对象,也需要数据库不断维护。表中的数据经常被修改就不适合添加索引,因为数据一旦被修改,索引需要重新排序,进行维护。1.2、考虑给字段添加索引的条件数据量庞大该字段很少进行D

2021-08-17 22:43:15 218

原创 MySQL数据库常用命令(三)

1、约束1.1、什么是约束?在创建表的时候,可以给表的字段添加相应的约束,添加约束的目的是为了保证表中数据的合法性、有效性、完整性。1.2、常见的约束有哪些?非空约束(not null):约束的字段不能为 null唯一约束(unique):约束的字段不能重复主键约束(primary key):约束的字段既不能为 null,也不能重复 (简称PK)外键约束(foreign key)检查约束(check):注意Oracle数据库有check约束,但是MySQL没有。2、非空约束(not n

2021-08-17 19:05:18 193

原创 MySQL数据库常用命令(二)

1.1、创建表语法:create table 表名( 字段名1 数据类型, 字段名2 数据类型, 字段名3 数据类型, ...);MySQL中常见数据类型int 整数型bigint 长整型float 浮点型char 定长字符串varchar 可变长字符串date 日期类型BLOB 二进制大对象(存储图片、视频等流媒体信息) Binary Large OBjectCLOB 字符大对象(存储较大文本,比如可以存储4G的字符串) Character La

2021-08-17 15:38:16 109

原创 MySQL数据库常用命令(一)

一、单表查询1.1、进入数据库: mysql -uroot -p1.2、退出数据库: quit;1.3、查看表结构:desc 表名;1.4、创建数据库:create database 数据库名;1.5、删除数据库:drop database 数据库名;1.6、查看当前数据库中所有的表:show tables;1.7、将.sql文件导入数据库:source .sql文件的绝对路径;1.8、查看当前数据库版本:select version();1.9、查看当前所用的数据库:select dat

2021-08-17 13:54:47 192

转载 C++lambda表达式详解

lambd表达式详解

2021-08-13 14:31:02 803

原创 vs2019中查看虚函数表的布局

1、打开VS2019自带的开发者命令工具(Developer Command Prompt for VS2019)2、cd到所在文件路径,VS中可以直接选中文件,打开文件所在路径即可找到该路径找到路径后,在开发者命令工具中,首先cd到文件所在盘,然后再cd到文件所在路径。3、运行指令cl /d1 reportSingleClassLayout类名 "文件名"这里的类名为自己所要查询的类名,文件名为所要查询的类名所在的文件名称。4、最终查询结果如下:...

2021-08-13 11:14:58 992

转载 vscode C++中的launch.json文件以及tasks.json文件的修改模板

VS Code C++中的launch.json文件以及tasks.json文件的修改模板

2021-07-30 22:13:23 903

原创 标准工程文件cmake全过程(LINUX)

1、新建一个工程目录projectmkdir project2、在project文件中创建include目录,src目录,CMakeLists.txt文件cd projectmkdir src includetouch CMakeLists.txtinclude目录放头文件,src文件放源文件3、在src目录中除放源文件外,再创建一个CMakeLists.txt文件cd project/srcvim CMakeLists.txt4、src目录下,CMakeLists.txt文件内容

2021-07-29 23:23:04 751

转载 cmake使用总结

cmake使用总结

2021-07-29 18:03:40 45

原创 Linux常用命令

1、重启:reboot2、关机:halt3、清屏:clear4、查看服务器ip地址:ip addr5、查看当前工作目录:pwd6、改变当前工作目录:cd 绝对路径 进入绝对路径目录cd .. 进入上一级目录cd 进入根目录7、列出目录和文件信息ls 列出当前目录下的所有目录和文件ls -l 列出当前工作目录下全部的目录和文件名详细的信息ls tmp 列出tmp目录下的全部目录和文件ls -lt 按修改时间排序列出当前目录下的所有目录和文件8、创建目录:mkdir 文件名

2021-07-25 22:25:49 87

原创 二叉树路径问题汇总

问题分类二叉树路径的问题大致可以分为两类:自顶向下从某一个节点(不一定是根节点),从上向下寻找路径,到某一个节点(不一定是叶节点)结束。非自顶向下就是从任意节点到任意节点的路径,不需要自顶向下1、自顶向下这类问题可以用深度优先搜索(DFS)和广度优先搜索(BFS)解决,但一般BFS比DFS更繁琐,故下面采用DFS代码。自顶向下继续细分可以分为一般路径与给定和路径(1)一般路径代码模板vector<vector<int>>res;//注意这里path并

2021-07-02 20:41:29 279

原创 背包问题(01背包、完全背包、多重背包)

文章目录1、01背包问题2、完全背包问题3、多重背包问题1、01背包问题问题描述:给定物体数量N,以及背包能够装下的最大重量V,对于物品i, 其重量为 weight[i],价值为value[i]。每种物品最多只能拿一次,求在不超过背包重量的前提下,能够拿到的物品的总价值的最大值是多少?解决思路:1、确定dp数组下标的含义2、确定递推公式3、初始化dp数组4、确定遍历顺序(1)确定dp数组下标的含义用二维dp[i][j]来表示,在前i件物品中取不超过重量为j的最大价值(2)确定递

2021-06-09 00:22:14 1596

原创 KMP算法(字符串匹配问题)

-------------------------------------------------预备知识-----------------------------------------------1、字符串前缀对于字符串str = aabbcd,其前缀为{a, aa, aab, aabb, aabbc}2、字符串后缀同样对于上述字符串,其后缀为{d,cd,bcd, bbcd, abbcd}3、字符串最长相等前后缀对于字符串str = aabbcd,我们从上面可以知道,其没有相同的前缀和后缀,

2021-06-08 21:56:59 128

原创 map容器删除元素出现的问题

问题起因:在map容器中插入元素后,想要按照key值删除特定的元素代码如下:auto it = mp.begin();for (; it != mp.end(); it++){ if (it->first == 1){ mp.erase(it); }}后来代码直接报错--------------------------------------------分割线----------------------------------------------

2021-06-06 15:00:33 352

原创 函数指针概念

1、什么是函数指针如果在程序中定义了一个函数,那么在编译时系统就会为这个函数代码分配一段存储空间,这段存储空间的首地址称为这个函数的地址。而且函数名表示的就是这个地址。既然是地址我们就可以定义一个指针变量来存放,这个指针变量就叫作函数指针变量,简称函数指针。语法:函数返回值类型(*指针变量名)(函数参数列表)例如:int(*p)(int, int);意思:这个语句定义了一个指向函数的指针变量p,首先它是一个指针,所以要用一个“ * ”,即(*p);其次前面的 int 表示这个指针变量可以指向返回

2021-06-06 14:56:01 104

原创 TCP连接释放过程中的3次握手和4次挥手

三次握手1、客户端发送连接请求报文段(同步位SYN = 1),序号 seq = x2、服务端发送连接确认报文段(同步位SYN = 1,确认位 ACK = 1),确认

2021-06-05 17:05:45 84

原创 常用排序算法

一、冒泡排序思想:1、将第一个数与后面的所有数进行比较,如果后面的数比第一个大(或者小),则将这两个数的位置进行交换,这样就找出了最小(或者最大)的数,并将其放在数组中的第一个位置;2、将第二个数与后面的所有数进行比较,与第一步相同,找出第二小(或者第二大)的数,并放在数组中第二个位置;3、依次循环,直到将倒数第二个数与倒数第一个数进行比较。代码实现:#include <iostream>#include<time.h>#define MAX 19using n

2021-04-17 16:47:58 70

原创 C++中左移运算符<<、右移运算符>>、以及位与运算符&

左移运算 <<对于正数而言,左移一位相当于乘2。例如:5<<1相当于5*2;5<<2相当于5*2*2对于负数而言,没有实际的意义右移运算符 >>对于正数而言,右移一位相当于除2取整。例如:5>>1相当于5/2;5>>2相当于5/2/2。对于负数而言,没有实际的意义位与运算符 &判断一个数是奇数还是偶数,可以使用位与运算符求。比如:unsigned int a;中,当a & 0x1值为1时,a为

2021-03-29 21:28:24 1020

原创 类模板的分文件编写问题以及解决

类模板分文件编写问题类模板中成员函数创建时机是在调用阶段,导致分文件便携式连接不到解决解决方式1:直接包含.cpp源文件解决方式2:将声明和实现写到同一个文件中,并更改后缀名为.hpp,.hpp是约定的名称,而不是强制。示例person.hpp中代码:#include<iostream>#include<string>using namespace std;//类模板template<class T1, class T2>class P

2021-03-22 16:35:11 161

转载 关于VS中出现的未加载wntdll.pdb的异常

VS出现wntdll.pdb异常处理

2021-03-18 16:44:23 555

原创 C++高级编程的一些细节问题

1、引用 (&)引用的本质:常量指针。const 数据类型 * 变量名,如const int * p。对于常量指针,不能修改指针指向,可修改指向的内容。2、函数重载作用: 函数名可以相同,提高复用性。函数重载满足条件:同一个作用域下函数名相同函数参数类型不同或者个数不同或者顺序不同注意:函数的返回值不可以作为函数重载的条件...

2021-03-14 23:20:25 170

原创 C++中const修饰指针

const修饰指针 ——常量指针如:const int * p;特点: 指针的指向可以修改,但指针指向的值不可以修改。例如: p = &a是正确的,但*p = 10是错误的。const修饰常量 ——指针常量如:int * const p;特点: 指针的指向不可以修改,但指针指向的值可以修改。例如: p = &a是错误的,但*p = 10是正确的。const修饰指针 ——即修饰指针,又修饰常量如:const int * const p;特点: 指针的指向不可以修.

2021-03-12 01:41:02 95

原创 C++中,-> 以及 . 的用法

在结构体(用户自定义数据类型)中,如果直接访问结构体变量中的属性时,使用 . 来访问。例如:定义一个如下的结构体struct Student{ string name; int age;};创建这个结构体变量Student s = {"张三", 18},当要直接访问这个结构体变量时,使用 **.**来访问,即用s.name和s.age就可以获得s变量的属性.如果使用结构体指针来访问变量中的属性,则需要使用 -> 。例如在访问上述结构体变量的属性时,先创建结构体指针Stu.

2021-03-12 01:26:43 3164

原创 C++中函数的分文件编写

函数的分文件编写1、创建.h后缀名的头文件2、创建.cpp后缀名的源文件3、在创建的头文件中写函数声明4、在创建的源文件中写函数定义分文件编写细节注意当用到其他函数时,所创建的头文件(.h文件)应该包含其他函数的头文件;例如: 用到cout时,应该在创建的头文件中包含#include<iostream>头文件,同时还应该包含using namespace std;创建的.cpp文件应该包含所创建的头文件,例如创建的头文件为文件名.h,则源文件中应该加上#include&lt

2021-03-12 00:08:08 444

原创 C++中break、continue、和goto的区别

C++中,break、continue和goto的区别及使用方法一、break语句作用: 用于跳出选择结构或循环结构使用时机:出现在switch语句中,作用是跳出case,并终止switch语句;出现在循环语句中,作用是跳出当前循环;出现在嵌套循环中,作用是跳出最近的内层循环。二、continue语句作用: 在循环语句中,跳出本次循环中余下尚未执行的语句,继续执行下一次循环。一般不用在switch语句中。三、goto语句作用: 可以无条件跳转语句语法: goto 标记;解释: 如

2021-03-11 22:27:27 441

原创 C++中三目运算符语法

1、三目运算符语法:表达式1 ? 表达式2 : 表达式3解释:如果表达式1为真,则执行表达式2,否则执行表达式3。

2021-03-11 21:23:29 293

空空如也

空空如也

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

TA关注的人

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