自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 问答 (1)
  • 收藏
  • 关注

原创 自动点击脚本

配置文件张这样,需要的自己截图。一个简单的自动点击脚本。

2024-03-16 21:49:36 402

原创 《鸟哥的Linux私房菜-基础篇》学习笔记

一些linux的学习笔记

2023-04-10 10:59:02 1187

原创 git相关

2)随后进入类似vim打开的一个文件,将pick修改成fixup(保留应用,丢弃commit描述)或者squash(保留应用,合并commit描述)等关键字。此处只是自己学习记录一下,原作者 https://blog.csdn.net/qq_36544876/article/details/88624105。git revert -n commitid //撤销此次commitid,然后 git commit -m “撤销某次commit”git reflog. //会记录你的reset操作。

2023-02-07 14:38:20 347

原创 goland 取消commit时自动格式化

Goland提交代码时取消自动格式化

2021-12-31 14:25:50 2030

原创 thrift read tcp xxx->xxx i/o timeout()

记录一下踩过的坑有三个模块A,B,C,A通过thrift去调用B,B通过thrift调用C,B对A请求的内容不做任何修改,但是有个问题,A调用B,和B调C用的是thrift不同的分支,也就是两个协议会有一点差异,这时候如果A->B请求的字段名以及字段名的序号和B->C不同的话,调用就会出现thrift read tcp xxx->xxx i/o timeout。。。很好奇为什么会报timeout,哪怕提示个参数不对,也不至于这问题搞两天。。。。。。。...

2021-12-28 11:05:43 2004 2

原创 MySQL数据库基础(二)索引部分

上篇文章提到索引、主键、外键、事务、存储引擎等等。本篇来谈谈MySQL索引索引:可以看成一种为了提高查询效率的数据结构,基于字段建立索引分类普通索引:普通字段建立的索引主键索引:以主键字段建立索引唯一索引:以唯一键字段建立索引(索引值必须唯一,不允许有空值)全文索引:仅限于MyISAM存储引擎,从char、varchar列中,(对于大容量的数据表,生成全文索引很小号硬盘空间)组合索引:以两个字段建立组合索引,组合索引有一个最左前缀原则。最左前缀原则:从最左边开始组合的查询就可以用到组合索

2020-07-27 18:18:03 180

原创 MySQL数据库基础(一)

关于MySQL的介绍,我就不啰嗦了,直接从sql语句开始,介绍相关概念。从写sql语句到按下回车,经历了什么?SQL由API接收请求SQL解析器解析请求(判断语法等问题)SQL优化器(制定执行计划)执行计划,从缓冲区查询(若有,通过API返回给用户,否则从磁盘(存储引擎)中读取)日志记录行为。接下来说说存储引擎存储引擎就是对底层数据的一种读写操作的封装,可以用show engines 这个语句查看存储引擎,这里主要说MyISAM 、InnoDB、MEMORY、ARCHIVE这四个存储

2020-07-26 15:19:18 205 2

原创 C语言复习 文件操作部分 fseek ftell

不喜欢说一些开场白啊啥的,直接从函数介绍开始文件操作基础的四个函数: fopen() fclose() fseek() ftellfopen()fopen(const char*a,char **b) a:文件路径+文件名称 比如:”F:\mydata“b:文件的打开方式有以下几种 比如: FILE* fp1; fp1 = fopen(“F:\mydeta.txt”,“r”)...

2020-04-09 11:57:38 270

原创 菜鸟的练习题

题目来自牛客网本来是不想发这篇博客的,为了见证自己的成长,还是写一篇博客吧。牛牛有一个由小写字母组成的字符串s,在s中可能有一些字母重复出现。比如在"banana"中,字母’a’和字母’n’分别出现了三次和两次。但是牛牛不喜欢重复。对于同一个字母,他只想保留第一次出现并删除掉后面出现的字母。请帮助牛牛完成对s的操作。第一次的代码#include<iostream>using...

2020-03-11 19:34:38 275

原创 谈第一次面试经历

可能很多小伙伴学习编程,就是为了找一份工作,都说找工作难,今天的我算是有一点感同身受了。(第一次面试,犯了很多不应该犯得错误,希望你们能提前规避掉这些问题)首先呢 面试官时十点给我打电话,刚开始我还以为时诈骗电话之类的,没有接电话的意思,后来想想还是先听他说说吧,人家第一句,你好,阿里巴巴,(到这时,我依然没有相信他)直到他问我,你投的是Android客户端开发?现在有没有时间,我才突然反应过...

2020-03-06 09:12:37 285

原创 C++容器(一)

C++中为了方便使用,引入了容器这个概念,容器的本质是一个类模板,可以存放任意类型的数据,而为了能操作类中的数据,又不破坏封装性,采用迭代器来访问类中的成员,同时还提供泛型算法,提高编程效率。简单来说,算法通过迭代器来对容器内的数据进行处理。容器分为顺序容器、关联容器、容器适配器,今天主要说顺序容器。顺序容器中又有三个容器,分别是vector(矢量容器)、list(双向链表容器)、deque(...

2020-02-27 23:32:08 264

原创 八种排序算法的优缺点、时间复杂度、空间复杂度分析(无代码)

冒泡排序:从头开始,两两依次比较,直到找出这组数据中最大的,放在最后面,重复此过程,直到有序时间复杂度:o(n^2)空间复杂度:o(1)选择排序:从头开始,依次找最小的,放在第一个,直到有序时间复杂度:o(n^2)空间复杂度:o(1)插入排序:从头开始,不断地将当前数据插入到之前排好的数据中,直到最后一个时间复杂度:o(n^2)空间复杂度:o(1)希尔排序:将一组数据分成...

2020-02-27 15:15:36 2747

原创 Linux 信号量和多线程例题

例题:创建三个线程,使之顺序输出abcabc…分析:如果三个线程不加以控制,会杂乱无章的输出,这时就需要用到信号量,控制他们按顺序输出abc。首先创建三个线程,分别为线程1,线程2,线程3,线程1输出a,线程2输出b,线程3输出c,同步使之按线程1,线程2,线程3的顺序执行。总结一下:信号量:sem_t sem_a; //作用类似 int a;sem_t sem_b;sem_...

2020-02-11 21:47:43 266

原创 C语言易错点

1.选择语句switch因为这个语句平时用到的机会不是很多,碰到一些要求用switch的题目,一时间想不起来怎么用,今天就来总结以下。举一个简单的例子,从键盘输入一个数字,判断它的等级, 60-80 及格,80-90良好,90-100优秀。int fun(){ int score; printf("请输入成绩:"); scanf("%d",&score);...

2020-02-06 13:20:39 245

原创 C++ 函数模板

template<typename T>T Sum(T a, T b) { return a + b; }1.函数模板:上面定义的模板为函数模板 <>模板的参数列表编译:定义点:只编译模板的头部 调用点:编译模板体(编译模板实例化后的模板函数)替换的过程:模板的实例化2.模板实例化:调用函数模板生成函数的过程(用参数列表中的类型替换该函数...

2019-12-01 13:34:28 126

原创 C++ static关键字(修饰对象及成员)

static修饰对象中的成员变量,可以用类作用域访问,也可以用对象访问class Test{public: void test1() { std::cout << "void test1()" << std::endl; } static void test2() { std::cout << "static test2" <&lt...

2019-11-20 13:21:52 772

原创 C++ 临时对象和对象的生存周期

先定义一个 Test 临时对象calss Test{public: Test() { ma = mb = 0; } Test(int a) { ma = a; mb = 0; } Test(int a, int b) { ma = a; mb = b; } Test(const Test& rhs) //因为没有指针所以不需要深拷贝 ...

2019-11-15 11:13:50 265

原创 C++ 常对象、常方法的相关知识

首先创建一个类calss Test{public: void Test()const //常方法 其中this指针由Test* const--> const Test*const {} Test(int a):ma(a),mb(b) //构造函数(使用了初始化列表) {}private: int ma; int mb; const int mc; ...

2019-11-12 15:51:55 471

原创 C++ 类和对象、默认函数

类和对象类简单来说就是将方法和定义封装到一块,类似于“结构体”的一个变量,与结构体不同的是,结构体中只有变量,而类中不仅有变量,还有对变量操作的方法。写一个简单的类calss A{friend class B;public: //公共的(该文件中的任意位置都可以访问) int Max(int a,int b) { return a > b ? a : b; } p...

2019-10-28 23:51:03 149

原创 C++基础(二)

5、inline函数(关键字) 在函数定义处添加①编译阶段,此函数将不生成符号②编译阶段,直接在调用点展开③该函数本文件可见内联函数与宏的区别:①处理时机不同,宏在预编译阶段直接文本替换 内联函数是在函数调用点将函数展开②inline 代码展开; 宏 文本替换,并无安全检查和类型检查③内联函数时一种更安全的宏inline本质上是一种以空间换时间的做法使用时机:当函数开...

2019-10-21 23:15:01 560

原创 C++基础(一)

1、函数默认值特点: ①.自右向左依次赋予②.不能重复赋予③.一般写在声明上(顺序:函数声明、函数调用、函数定义)2、函数重载1.函数符号的生成方式:C:_+函数名C++:返回值+函数名+形参列表+函数体2.重载不依赖函数名和返回值3.函数重载的三要素①同名 ②不同参数 ③同作用域(函数调用采取就近原则)3、C/C++的相互调用三种方式:1.C++调...

2019-10-11 14:11:40 174

原创 排序之快速排序

快速排序:从一组数中找一个基准(一般选第一个值),先从后往前找,如果小于这个基准,把这个值放到基准的位置,接着从前往后找,如果大于这个基准,那就把这个位置的值放在空着的那个位置。如此循环就可以实现一组数的有序排列。递归处理:static int onequick(int *arr, int i, int j){int tmp = arr[i];//以arr[i]为基准 while(i &...

2019-09-25 21:30:08 112

原创 直接插入排序

/*直接插入排序:时间复杂度o(n^2) 空间复杂度o(1) 稳定性:稳定给一组数字,从第二个开始开始排序(认为第一个数字是有序的),于是前两个数字就是有序的,第三个数字按大小顺序插入到前面的有序数列中,依次类推…*/在这里插入代码片...

2019-09-21 08:24:48 91

原创 gdb调试

首先创建一个名为test.c的文件gcc -o test test.c -g //这里若没有-g表示relase版本gdb test // 开始调试l:显示代码(默认从头开始,这里显示的从第八行开始,于是用命令 l 3,从第三行开始显示)这里直接回车,表示执行上一个命令b 18 表示在18行加断点info ...

2019-09-18 23:50:11 184

原创 4G虚拟内存布局

为了保证进程运行的安全性,操作系统使用保护模式,系统不会直接访问数据真实的地址,采用虚拟内存,虚拟内存与真实内存映射,通过映射关系来获取文件和数据。系统会给每个进程都分配一个4G大小的虚拟内存虚拟内存空间的布局:分为用户空间(3G)和内核空间(1G)数据区为了方便理解是我自己划分的 实际没有1、保留区(128M),这段区域不存放任何东西,不可以被访问2、数据区,指令(局部变量也属于指令,...

2019-09-18 12:25:44 459

原创 linux关于管道的popen与pclose

管道:两个进程通过管道交换数据,一般一个进程输出通过管道连接到另一个进程的输入popen和pclose是最简单两程序之间传递数据的方法;popen:FILEpopen(const char command,const charopen_mode)允许一个程序将另一个程序作为新进程来启动command:要运行的程序名和相应的参数opem_mode:必须是r或wpclose:int pcl...

2019-07-25 17:19:26 282

原创 linux中gcc的基础知识以及k静态库的制作

写好一个main程序后想要运行它,先编译gcc -o main main.c-o main表示 给程序编译后的名字命名为main忘记写-o main 系统将自动将程序保存到a.out的文件中然后再运行 ./main . 表示在当前路径目录:/usr/bin 存放为系统正常使用提供的程序 用于程序开发的工具/usr/loca...

2019-07-22 20:23:53 324

原创 在“有序”的二维数组中查找一个数

给一个二维数组,每一行从左往右依次递增,每一列从上往下依次递增,在该数组中查找 一个数。思路:方法一)依次遍历数组,直到查找到为止 方法二)每次查找都去掉一部分数据,即要查找的数 key比遍历到的数字大,回退一个,去掉右面的所有数字。 方法三)有序,则用折半法#include<stdio.h>//方法一:依次遍历(以四列为例)bool Search1(...

2019-06-22 14:49:18 408

原创 编译中被隐藏的过程

使用过VC++6.0这个编译器的人知道,一个进程要先编译,唯有warning就可以执行了,对编译还有点印象。而现在大多使用的vs编译器,编译不会很显式的表现出来,很多人直接忽视了这个过程,下面就来说说编译的过程。首先呢,编译分为四个步骤;预处理:生成.i文件1、展开所有宏定义2、处理所有的预编译指令(将预处理指令的文件直接拷贝过来,还有#if、#endif...等等)3、删除所有注释4...

2019-05-28 10:41:31 291

原创 用malloc创建一个二维数组

首先说一下二维数组与指针吧,要访问一个数组的元素a[1][2],我们应该写成这样 (a+1)+2,而单独的(a+1)表示第一行(下标为1,本来应当为数组的第2行)。从指针的角度看,二维数组是由一个指针数组和一个其他数据类型的数组组成。思路:用malloc创建一个n行n列的二维数组,首先创建一个有n个元素的指针数组(为二维数组的行),在创建n个其他数据类型的数组即可。代码...

2019-05-25 19:49:10 3608

原创 有n个整数,使前面各数向后移动m个位置,最后m个数变成前m个数。

问题:有n个整数,使前面各数向后移动m个位置,最后m个数变成前m个数。#include<stdio.h>#include<stdlib.h>void fun(int *arr,int n,int m){if(m >= n || m ==0 || n<=0){printf("请重新输入!!!");return;} int *brr = (int...

2019-05-23 14:17:27 732

原创 写一个字符串转数字的函数

思路:1.将字符串的每个数字提取出来2.将每个元素后的’\0’(尾巴)去掉int Myatoi(char *arr){ int tmp = 0; while(*arr!='\0') //当arr[i]为'\0'时,循环结束 { if(isdigit(*arr)) //判断一下是否为数字 若不为数字 则跳过 ...

2019-04-17 16:28:04 376

原创 字符串常量 与 字符数组 的区别

字符串常量与字符数组的区别:例如:char *str1 = “abcde” (1)char str2[] = “abcde” (2)表面上看起来没有什么区别,但在使用中会出现问题(1)中只能读取 却不能修改 str1[0] = ‘x’ 运行会出问题因为str1只保存的是"abcde"的地址(2)中可以对其进行赋值运算(2)是对数组str2[]的初始化 ...

2019-04-10 23:37:47 469

原创 不引用第三个变量实现数据的交换的三种方法

三种方法如下:way 1 利用赋值a=a+b 交换a b的值int main(int a, int b){ a = a+b; b = a-b; a = a-b; printf("%d %d\n",a,b); return 0;}way2利用赋值a = a*b 交换a b的值int mian(int a, int b){a = a *...

2019-04-01 09:24:50 531

原创 用筛选法求n以内的素数

筛选法::先把N个自然数按次序排列起来。1不是质数,划去。2是质数留下来,2后面所有能被2整除的数都划去。2后面第一个没划去的数是3,3留下,再把3后面所有能被3整除的数都划去。这样一直做下去,就会把不超过N的全部合数都筛掉,留下的就是不超过N的全部质数。#include<stdio.h> //输出len以内的素数int SS(int *arr,in...

2019-03-30 22:53:50 4224 3

原创 整形数组反序

整形数组反序:将第一个和倒数第一个的值交换,第二个和倒数第二个交换...直到最中间的两个元素#include<stdio.h>void NX(int arr[],int len){    int j;    int tmp;    for(j = 0; j <...

2019-03-30 19:57:39 312

原创 对一个数去末位 得末位

n/=10; 去末位n%=10; 得末位水仙花数 三位数 每一位得三次方之和等于其本身。例如(153=1+125+27)#include<stdio.h>bool IsFlower(int n){int tmp;int m=n;int sum=0;while(n!=0){ tmp=n%10; sum=tmp*tmp...

2019-03-23 16:10:59 192

原创 初次接触 感慨一下

对于刚入门的我来说 能写出一段没有error的程序已经很是欣慰了遇到的问题…问题1 中英文切换 英语太差 注释只能用中文 程序中的各种符号一不留神就写成中文符号问题2 对于功能代码的命名 参数等一系列的命名问题 自己命名的只有自己当时能看得懂问题3 莫名其妙的错误 而且 每次的错误还都不一样 甚至无法运行&nbsp; 百度也无济于事…问...

2019-03-13 22:27:57 251

空空如也

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

TA关注的人

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