自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (2)
  • 收藏
  • 关注

原创 高性能mysql学习 2 基准测试

111

2020-10-20 16:32:08 199

原创 高性能mysql学习 1 架构

以前对于数据库的学习入门就是增删改查,然后慢慢的接触触发器、存储过程,视图,然后就觉得基本学完了,虽然知道mysql有相关的性能优化,不过没有在意,直到最近开始接触高性能mysql这本书,才知道自己知道的东西还是太少了,决定写博客留给自己看,主要是对mysql高性能的整理,自己复习使用,有兴趣的同学最好直接看原版书籍。1. mysql逻辑架构1.1.mysql服务器逻辑架构下面就是一个简单的图形说明:最上层是客户端,这一层是不属于mysql的架构的,下面主要就是三层,分别为:第一层:连接、线程处

2020-10-19 14:06:18 230 1

原创 kafka 1

我记得我好像写过一篇关于kafka的C++调用,然后今天居然发现没有找到,是我失忆了吗?还是记忆错乱了,-_-。都过去一两年了,感觉kafka已经基本忘光了,现在重新拾起不知道难度怎么样。不过之前kafka使用的是纯C++代码编程,后面我打算改成go,之前一直想把公司的项目改成go,但是一直没下定决心,一部分是公司对这个业务暂时没有需求,还是就是公司事情暂时有点多,打算自己一点点挤时间出来把项目改成go实现,后面如果go遇到问题,会在重新开一篇记录,这一篇主要还是来回忆一下kafka。1、消息队列&

2020-08-22 14:30:47 233

原创 mysql的隔离级别

SQL标准定义了四类隔离级别,包括了一些具体规则,用来限定事务内外的哪些可以改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。read uncommitted(读取未提交内容)    ~~~~    在改隔离级别,所有事务都可以看到其他未提交事务的执行结果,本隔离级别很少用于实际应用,因为它的性能也不比其他级别号多少,读取未提交的数据,也称为脏读。read committed(读取提

2020-08-22 11:59:06 148

原创 僵尸进程和孤儿进程

1、僵尸进程    ~~~~    僵尸进程:父进程创建了子进程,如果子进程退出,而父进程没有调用wait和waitpid获取子进程状态,那么子进程的进程描述符任然保持在系统中。2、孤儿进程    ~~~~    父进程退出,而子进程还在运行,这个时候子进程会被init进程接管,由init进程完成子进程的收集工作。3、查看僵尸进程&nbsp

2020-08-22 11:46:51 125

原创 C++ 宏日志输出

直接代码:#define my_printf_tag(format, ...) \do{ \ if(tag_debug == 1){\ time_t time_val=time(NULL);\ char* ctr = ctime(&time_val);\ ctr[24] = '\0';\ printf("%s : %s : %d D:"#format " \n", ctr, tag, __LINE__, ##__VA_ARG

2020-08-21 12:50:16 477

原创 图像锐化、梯度、对比度 C++

    ~~~~    最近碰到一些需求,居然要改图像,但是按照要求改了,弄完最后又要求改回去,记录一下使用过的函数锐化,梯度增强,对比度//锐化void sharpen(unsigned char *pucImage, int iWidth, int iHeight){ if(pucImage == NULL) return; unsigned char *puc = pucImage; //申请空间 unsig

2020-06-05 10:35:13 1085 1

原创 svn command

    ~~~~    svn使用的指令还是有点复制的,这里做下记录用法svn <子命令> [选项] [参数]可用子命令    ~~~~    键入“ svn help <子命令>”以获取有关特定子命令的帮助...

2020-01-18 17:56:38 781

原创 快速排列

    ~~~~    快速排列,又称划分交换排序,简称快排,一种排序算法。在平均状况下,排序nnn个项目要O(nlog n)O(nlog~n)O(nlog n)次比较。在最坏状况下则需要O(n2)O(n^2)O(n2)次比较,但这次状况并不常见。事实上,快速排序Θ(n log ...

2020-01-15 10:25:40 298

原创 分治法

    ~~~~    在计算机科学中,分支法是建基于多项分支递归地一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。    ~~~~  ...

2020-01-13 19:18:18 303

原创 二分查找算法

    ~~~~    在计算机科技中,二分查找算法,也称为折半搜索算法、对数搜索算法,是一种在有序数列中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较...

2020-01-12 14:51:17 330

原创 时间复杂度

    ~~~~    在计算机科学中,算法的时间复杂度是一个函数,他定性描述该算法的运行时间。这是一个代表算法输入值的字符串的长度函数。时间复杂度常用大OOO符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦即考察输入值大小趋近无穷时的情况。常数时间  ...

2020-01-12 11:04:08 269

原创 红黑树

    ~~~~    资源来自维基百科,这里算记录地址    ~~~~    说道epoll,就会说道mmap和红黑树,这里记录下红黑树,学习红黑树之前需要先了解二叉搜索树。介绍    ~~~...

2020-01-03 18:12:19 151

原创 socket epoll通讯

    ~~~~    说道epoll就要说道和select的比较了,这是比较常见的面试题目了。    ~~~~    先介绍epoll:epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口...

2020-01-02 12:00:07 148

原创 使用select进行SOCKET通讯

11

2019-12-11 17:57:04 464

原创 高斯平滑

结果

2019-12-02 14:23:07 237

原创 grep 目录查找

##文件名+内容grep -r “查询内容” 文件目录##只显示包含内容的文件名grep -r -l “查询内容” 文件目录##文件名+内容find 文件目录 -type f |xargs grep “查询内容”;...

2019-11-23 10:44:41 1824

原创 二叉树遍历递归和非递归实现

遍历一共有三种,前序中序后序

2019-11-22 14:31:27 106

原创 C++ 堆栈 stack

[TOP]&nbsp;&nbsp;&nbsp;&nbsp;~~~~&nbsp;&nbsp;&nbsp;&nbsp;栈和队列是两种重要的线性结构,是很常用的数据结构。从数据结构的角度看,栈和队列也是线性结构,其特殊性在于栈和队列的基本操作是线性表操作的子集,它们是操作受限的线性表,因此,可称为限定性的数据结构。但是从数据类型角度看,它们是和线性表大不相同的两类重要的抽象数据类型。由于它们广泛应用...

2019-11-22 11:08:34 503

原创 线程和进程的区别,线程如何实现同步和通信,进程如何实现通信

线程和进程的区别进程是系统资源分配最小的单位。线程是程序执行最小的单位进程有自己独立地址空间,每启动一个进程,系统都会为它分配地址空间,建立数据表来维护代码段、堆栈和数据块,这种操作非常昂贵。线程是共享进程中的数据的,使用相同的地址空间,因此cpu切换到一个线程花费远比进程要小很多,同时创建一个线程的开销也比进程要小很多。进程间的通讯较为复杂,使用:无名管道、有名管道、信号、共...

2019-11-21 20:14:13 217

原创 什么是虚函数

什么是虚函数在某基类中生命为virtual并在一个或多个派生类中被重新定义的成员函数,用法格式为:virtual函数返回类型 函数名(参数列表){函数体}实现多态性,通过指向派生类的基类指针或引用,访问派生类中的同名覆盖函数。虚函数的创建继承虚函数继承是解决多态性的,当用基类指针指向派生类对象的时候,基类指针调用虚函数的时候会自动调用派生类的虚函数,这就是多态性,也叫动态编联。演示,...

2019-11-20 19:33:27 2519

原创 const(常量)和#define(宏定义)区别

记录面试题编译器处理不同宏定义是一个编译时的概念,在预处理阶段展开,在编译时把所有的宏定义值得地方用宏定义常量替换,不能对宏定义进行调试,生命周期结束于编译时期;const常量是一个运行是的概念,在程序运行时使用,类似一个只读数据块。存储方式不同宏定义是直接替换,不会分配内存,存储在代码段中;const常量需要进行内存分配。...

2019-11-20 19:00:28 280

原创 关键字static

关键字staticstatic的作用隐藏保持变量内容持久初始化为0C++类成员声明static的作用关于static的作用简单来说就是四个:隐藏保持变量内容的持久初始化为0C++类成员声明隐藏个人认为最重要的,也是最常用的,应该是隐藏,我的理解的限制使用范围,在一个cpp中,定义的一个全局变量或者函数,不希望其他cpp使用的时候,就可以加static,就不用担心命名冲突了。保...

2019-11-20 18:33:18 115

原创 几个简单的清晰度计算

最近在自学游戏开发,所以博客就停下来没有写了,不过最近工作上要实现一些东西,所以这里在作一些笔记,比较清晰度算法主要是为了实现调焦,这记录一下代码,具体暂时不说了。/** * 计算两个相邻像素的灰度差平方,为了防止数值过大,我们会缩小所算出来的值,data数据为raw单通道数据 */int BrennerClarity(const m_Byte* data, int w, int h, ...

2019-11-04 15:09:44 3236

转载 go通过orm访问数据库

go通过orm访问数据库

2019-05-28 16:57:54 338

转载 vim插件管理器:Vundle的介绍及安装

背景Vim缺乏默认的插件管理器,所有插件的文件都散布在~/.vim下的几个文件夹中,插件的安装与更新与删除都需要自己手动来,既麻烦费事,又可能出现错误。Vundle简介Vundle 是 Vim bundle 的简称,是一个 Vim 插件管理器.Vundle 允许你做…    ~~~~    在.vimrc中跟...

2019-05-23 17:20:41 3768

原创 win10禁用Windows Defender

禁用Windows Defender,Cortana中输入命令提示符,以管理员身份运行:reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v "DisableAntiSpyware" /d 1 /t REG_DWORD /f然后重启电脑附上启用Windows Defenderreg add...

2019-05-20 15:40:46 920

原创 go sock实现tcp例子

    ~~~~    最早就是做通讯出来的,所以学习go也要学通讯,而且通讯也是很常用的,不说了,直接上例子,带注释。

2019-04-28 16:25:02 259

原创 go strings函数说明

列举出用过的一些函数,加说明和例子,下面是源码加运行结果:package mainimport ( "fmt" "strings" "unicode")func main(){ var str1, str2 string str1 = "123456" str2 = "abcdef" fmt.Println("-------------Compare-----------...

2019-04-28 11:56:13 508

原创 go语言defer、panic、recover

    ~~~~    作为一个初学者,看到新的东西,感觉记下来。    ~~~~    defer,就是在退出所处的函数时,调用后面带的函数,defer后面只能跟函数调用。    ~~~~&nb...

2019-04-26 17:09:10 163

原创 go操作mysql数据库

    ~~~~    测试go对mysql的操作,外加一个例子    ~~~~    go要访问数据库主要使用的是database/sql里面的接口,对应使用的数据库,需要安装对应的驱动,当然先需要安装好git,执行下面命令安装,我的环...

2019-04-26 16:25:52 428

原创 go 入门

    ~~~~    最近学习做独立游戏,学洗了unity和laya,unity网上资料很多,学起来还是很快的,一个星期就可以开始做游戏了(自己做了一个坦克大战,就一关,自己都打不过。。。),laya就很吃力了,没有找到好的视频吧,外加对html5,不熟悉。然后学着学着就像弄服务端,想着自己玩的时候,很多时候都要找队...

2019-04-26 11:59:32 96

原创 十字链表

    ~~~~    有需求才有供应,很多东西,都是为了解决实际问题才出现的,项目中出现了很多稀疏矩阵,而且需要对他们进行运算,而十字链表就是为了解决稀疏矩阵而出现的一种数据结构。稀疏矩阵    ~~~~    稀疏矩阵(英语:spa...

2019-04-26 11:26:29 9399 2

原创 灰度图转bmp文件 C++

直接上代码,根据不同需求可以进行改动#include <stdio.h>#include <iostream>using namespace std;///////////////////////////////////////////////////////////////////////////读写图像文件的结构和函数的定义////////////...

2019-04-19 09:54:19 1167

原创 设计模式的六大原则

    ~~~~    里氏替换原则(Liskov Substitution Principle,LSP)由麻省理工学院计算机科学实验室的里斯科夫(Liskov)女士在 1987 年的“面向对象技术的高峰会议”(OOPSLA)上发表的一篇文章《数据抽象和层次》(Data Abstraction and Hierarch...

2019-04-18 16:23:07 88

原创 单一职责原则(SRP)

    ~~~~    单一职责原则:There should never be more than one reason for a class to change,应该有且仅有一个原因引起类的变更。    ~~~~    职责:业务逻...

2019-04-18 15:52:41 261

原创 内存分配器 SGI alloca分析

    ~~~~    之前我们了解了一些基础的东西,我们下面来学习一下stl里面的经典,我们只要学习SGI,关于源码,后面整理上传到gihub吧。    ~~~~    我们先看看SGI的对于内存的配置和释放的设计哲学:向syste...

2019-04-18 14:24:49 221

原创 理解C++ new-handler机制

    ~~~~    当 operator new 不能满足一个内存分配请求时,它在抛出一个 exception(std::bad_alloc异常)之前,会先去调用用户指定的函数:error-handling function(错误处理函数)。这并不完全确切,operator new 真正做的事情比这个稍微复杂一些。...

2019-04-17 18:05:43 3029 2

原创 关于C和C++

这里我想到了之前的一篇文章,作者是nanomsg的开发者,https://www.oschina.net/question/54100_54164。这是翻译的可以去看一下,对于底层库,跟人更喜欢C,对于运行的程序,更喜欢C++吧。...

2019-04-17 11:13:07 124

原创 关于右值引用 C++11

    ~~~~    今天看了一遍C++11新特性,看到了右值引用,然后做测试,确突然发现和书上说得不一样,感觉就像是g++,对类临时变量拷贝做了优化,洗面是代码加编译结果,求大佬指导。#include <iostream>#include <stdio.h>using namespa...

2019-04-04 15:51:48 99

C栈头文件源代码

C栈,关于栈的头文件,使用模板完成,template<typename T,int size>

2015-07-02

C队列源代码

C队列源代码,使用的是模板,template<typename T,int size>

2015-07-02

空空如也

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

TA关注的人

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