自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博客周

此处不放鸡汤

  • 博客(77)
  • 收藏
  • 关注

原创 一文搞懂MySQL基础框架

看了《MySQL高性能》已经几位博客大佬的博客。概要总结一下自己的理解。先给出MySQL基本框架示意图,这张图的风格很喜欢,目前还不知道用什么画出来的,先用一下咋一看图好像有点复杂,好像乱七八糟的。不慌不慌,我们慢慢来,保证这篇看完就立马能大致全部了解了。一般可以把MySQL分为Server层和存储引擎层两部分。这一篇主要把Server层给弄清楚就可。Server层:包含了连...

2020-03-29 16:51:38 2213 3

原创 浅谈lambda表达式-包含其出现缘由

从泛型函数开始介绍,泛型函数引出了lambda表达式。泛型算法算法永远不会执行容器的操作。只读算法​ find、count这种只会读取其输入范围内的元素,而从不改变元素的算法,就属于制度算法。在积累两个没用过的只读算法。accumulate();英文翻译为积累函数,其实也就是求和函数。可以用来求和。accumulate的第三个参数的类型决定了函数中使用哪个加法运算符以及返回值的...

2020-03-28 20:28:51 718 1

原创 "too many open files"问题

这个问题基本上就是因为文件并发量太大了。也就是文件句柄数达到上限造成的。因此在Linux服务器高并发调优时,往往需要预先调优Linux参数,修改最大文件句柄数。Linux默认最大文件句柄数为1024。目前会了两种方法: ulimit -n 2048ulimit -a可以查看一系列参数,其中open file这一行写的就是最大文件句柄数。(注意:该方法只针对当前进程有效,重新打开一...

2020-03-10 15:53:25 299

原创 ”su: Authentication failure“问题

今天用su命令想切到root的时候出现了su: Authentication failure的问题。只要先sudo passwd root过一次之后,下次再su的时候只要输入密码就可以成功登录了。

2020-03-10 11:12:03 364

原创 letcode123. 买卖股票的最佳时机 III

前面一题时卖股票的最佳时机Ⅰ不知道为啥没有Ⅱ,Ⅰ是常规的简单dp,就直接写Ⅲ了。

2020-03-09 21:41:53 130

原创 letcode32最长有效括号

记录技巧。

2020-03-08 11:25:23 137

原创 C++函数知识概要总结(三)

关于调试帮助关于assert预处理宏assert(experssion);若表达式为假,assert输出信息并终止程序的执行,如果为真,assert什么也不做。在头文件cassert中int a = 5;assert(a == 0);并提示那行并且会结束程序。关于NDEBUG预处理变量注意:assert的行为依赖于一个名为NDEBUG的预处理变量的状态。即如果定义了NDEBU...

2020-03-07 22:58:51 136

原创 C++函数知识概要总结(二)

关于返回类型和return语句两种形式:return;return expression;关于无返回值函数返回void的函数不要求非得有return语句,因为在这类函数最后都会隐式的执行return;所以并不是它真的不需要,而是他本来就有。注意其实返回void的函数也可以是上面的第二种返回方式,即return expression的形式,只要保证expression是一个返回voi...

2020-03-06 22:11:54 163

原创 C++函数知识概要总结(一)

这章啃了好久由于太长了,所以分两篇。fact(3.5) 若要求参数是整数,3.5会被隐式转换成3阐述一下名词 自动变量自动变量是只存在于块执行期间的对象。如果局部对变量对应的自动对象没有初始值,那就会产生未定义的值。关于局部静态变量。一个清晰明了的例子。int a() {static int c = 5;c += 1;return c;}int main(){int...

2020-03-05 22:17:22 244

原创 letcode72. 编辑距离(以及优化)

这个题有次比赛,硬是没做出来,队友当时在做别的,我一直在看这个竟然没做出来。。。然后自此再也没有做过这种题,今天翻到了,试着做做,没想到竟然如此之简单。知道是dp①dp[i][j]表示word1长度为i时,编辑成长度为j的word2最小需要几步。②只有三种状态,删、增、替换,要么就是不需要操作。当前状态为dp[i][j]时,要么word1[i]==word2[j],此时不需要操作,直接令...

2020-03-04 13:02:00 243

原创 letcode64. 最小路径和

三篇一道题显得有些拥挤了,这题分开吧①dp[i][j]表示走到gicd[i][j]所需要的最小代价。②因为每个格子只能由上面的格子或者左边的格子移过来。所以可以很容易写下这样的式子dp[i][j] = min(dp[i-1][j], dp[i][j-1])+grid[i][j;③初始化考虑上面的式子i和j不能等于0,于是就想到了最上面一行和最左边一列需要初始化。由于当做完它的弱化版,...

2020-03-04 11:53:17 102

原创 letcode63. 不同路径 I和II

不同路径Ⅰ和Ⅱ,这两题做法差不多,就直接记录在一起了。就是两道基础DP,据说面试DP考的挺多的,特意来找找感觉。这两题都很基础很简单。首先第一题不同路径Ⅰ①dp[i][j]表示走到gicd[i][j]这里的总路径数。②因为每个格子只能由上面的格子或者左边的格子移过来。所以可以很容易写下这样的式子dp[i][j] = dp[i-1][j] + dp[i][j-1];③初始化考虑上面的...

2020-03-04 11:46:23 151

原创 计算机操作系统零散笔记——关于死锁(二)

据上一篇隔了好久,现在开始回来看看怎么解决死锁怎么解决死锁要么破坏死锁产生的必要条件之一。比如攻击死锁的互斥条件要么下面这两种方式Deadlock prevention 死锁预防Deadlock avoidance 死锁避免或者就是死锁的避免与回复要么就用看啥去傻傻的鸵鸟算法鸵鸟算法大多数操作系统都用的鸵鸟算法。假装看不到,就是不去解决它。忽略潜在问题的一种算...

2020-03-03 15:38:53 152

原创 letcode33搜索旋转排序数组

题目规定,只能用log(n)复杂度的算法。我特意找的二分专题,但是不难发现这题是二分。思路:要么左边是一只递增的,要么右边是一直递增的。然后先分为这两种情况,每种情况,还可以再细分,具体怎么细分,代码见。class Solution {public: int l, r; int judge(vector<int>& nums,int target, i...

2020-03-02 20:21:28 122

原创 关于增删改基础--MySQL系列

补一些最基础最基础的知识。。show databases; //查看已有哪些数据库use databases; //进入某个数据库select database()//查看当前use的是哪个databasedrop database test; //删除名为test的数据库drop table test;//删除名test的表use test; //进入名为test的数据库先跳...

2020-03-02 17:02:23 129

原创 C++语句知识概要总结

语句关于复合语句即块一个块就是一个作用域。所谓块,其实也就是用花括号括起来的地方,关于悬垂else提一下悬垂else, 其实就是,不同语言解决该问题的思路也不同,就c++而言,它规定else与离它最近的尚未匹配的if匹配。关于switch该语句结束要么遇到一条break语句,要么要达到该语句的结尾。其中有case,case和它对应的值一起构成case标签。case标签必须是整型常量...

2020-03-02 11:06:36 311 1

转载 ERROR 1698 (28000): Access denied for user 'root'@'localhost' (后面没有多余的东西) -------解决方法

这个问题很多安装配置教程里都没有提到,找了好久好久。。。转载一下。转载:https://www.linuxidc.com/Linux/2019-08/159900.htm测试的Linux操作系统是Ubuntu 18.04 LTS,MySQL版本如下:linuxidc@linuxidc:~/www.linuxidc.com$ mysql --versionmysql Ver 14.14...

2020-03-01 18:07:10 422

原创 C++表达式知识概要总结

这一章好多细节好多好多好多啊然后就看的就很慢我们使用重载运算符时,其包括运算对象的类型和返回值的类型,都是由该运算符定义的,但是运算对象的个数、运算符的优先级和结合律都是无法改变的。关于左值和右值:在c语言中的经典分辨方法:左值是一个可以出现在赋值的左侧或右侧的表达式,而右值是一个只能出现在赋值的右侧的表达式。在c++中也可以这么分辨。当然还有更细节的区别。关于复合表达式优先级相...

2020-03-01 16:40:14 434

原创 letcode34在排序数组中查找元素的第一个和最后一个位置

明摆着挺经典的二分题。用我以前做过的题,能直接想出这样思路:二分找到小于目标的最大值,再找到大于目标的最小值。然后由此得到题目要求。思路很简单,细节是魔鬼。麻溜的写出了这样的代码class Solution {public: vector<int> searchRange(vector<int>& nums, int target) { ...

2020-02-29 21:31:41 147 1

原创 关于各种函数用法--MySQL系列

特意记录以下函数的用法笔记,就是单纯为了记录,毕竟函数东西好用但是不好记,记下这篇以方便查阅。目前准备①先学会使用mysql②学会了去弄清楚原理③在之后想想怎么优化,三步走。关于函数相对来说,多数SQL语句是可移植的。而函数的可移植性却并不强,几乎每种主要的DBMS的实现都支持这不同形状的函数,有时差异还会很大。所以再写mysql代码时。要养成一个良好的习惯:决定使用函数时,应该保证做好...

2020-02-29 17:17:06 179

原创 letcode29两数相除

这题,分类是二分。确实第一时间相出了二分做法,结果是超时的。。。看了题解,看完实现的时候唉,边界真的不好控制,一言难尽。先记录一下,明天补思路。class Solution {public: int divide(int dividend, int divisor) { if(divisor == 0) return 0; bool sign = (...

2020-02-28 22:29:52 85

原创 C++字符串、向量和数组知识概要总结

字符串记一下string的几种没用过的初始化操作,赋值不能这么搞string s1("value");string s2(s1);string s3(6,'z');string s4=string(6,'a');上面没咋提拷贝初始化,带等号的都是拷贝初始化,这里都是直接初始化getline(cin, line); 可接受句子,遇到换行符则停止,并且换行符也会被读入,但是这个换行...

2020-02-28 19:36:46 170

原创 关于正则表达式--MySQL系列

记一下笔记,以防忘记了之后再不停的翻书默认匹配不区分大小写,若想要区分大小写,可使用BINARY关键字select name from products where regexp binary 'Jet .000' order by name;进行or匹配,即搜索两个或多个之一select name from products where name regexp '1000|2000'...

2020-02-28 18:24:33 124

原创 C++变量和基本类型知识概要总结

整合基本的关于c++的变量和基本类型的知识。参考于C++primer第二章仅包含部分,而非全部inti=b; //i的值为1i= 3.14; //i的值为3double pi = i; // pi的值为3.0unsigned char C = - 1; //假设char占8比特,c的值为255signed char c2 = 2...

2020-02-26 13:30:15 186

原创 关于TCP/IP网络编程第17章和第18章复习总结暂停消息

哭了,在解决电脑网卡的问题的时候,不小心把电脑给重置了/(ㄒoㄒ)/ 然后搞着搞着我onenote里的笔记就不见了。为啥重新登陆office账户之后没有以前笔记的信息???很烦,里面有我之前的所有的学习笔记和心得体会。再研究研究。...

2020-02-12 19:34:04 108

原创 计算机操作系统零散笔记——关于死锁(一)

学习进程的同步的时突然变的很浮躁,今天先跳到死锁Deadlock 死锁一组被阻塞的进程,每个进程持有一个资源,并等待获取集合中另一个进程持有的资源。资源是什么?操作系统中的一切都是资源硬件资源 软件资源等等等等各种资源。进程使用资源的过程:Request open(), malloc(), wait() 请求资源use 使用资源Release 释放资源 close(), f...

2020-02-10 18:50:17 158

原创 TCP/IP网络编程第16章分离I/O流复习总结

利用前面的fork函数可以复制出一个文件描述符,然后区分输入和输出中使用的文件描述符,实际上用fork分离式分开了2个文件描述符的用途,而文件描述符本身不会根据输入和输出进行区分。但也属于IO流分离。有了上一章标准IO的知识后,可以再进行IO分流。带着以下目的进行下去:为了将FILE指针按读模式和写模式加以区分。通过区分读写模式降低实现难度通过区分IO缓冲提高缓冲性能。要实现真...

2020-02-10 16:52:53 278

原创 TCP/IP网络编程第15章多种I/O函数复习总结

先了解以下标准IO和系统IO或者叫文件IO的大致区别,具体细节化的区别下面慢慢展开。标准IO是ANSI C建立的一个标准IO模型,是一个标准数据函数包和stdio.h头文件种的定义,所以很明显标准IO的有很高的可移植性。并且采用了缓冲机制。而文件IO属于低级IO,是操作系统提供的基本IO服务,与OS绑定,特定于linux或unix平台,因此并没有很高的可移植性。不带缓存。以上是大致区别。下...

2020-02-10 16:48:02 185

原创 TCP/IP网络编程第14章多播与广播复习总结

关于多播多播方式的数据传输时基于UDP完成的。多播的数据传输特点:多播服务器端针对特定多播组,只发送一次数据该组内的所有客户端都会接收数据多播组数可在IP地址范围内任意增加加入特定组即可接收发往多播组的数据说白了,多播就是指定了一个组,多播服务器端只需要发送一次数据给组内即可,然后这个数据报会借助路由器传递到该组内的所有主机。多播主要用于多媒体的实时传输。毕竟人家UDP。...

2020-02-10 16:42:02 136

原创 计算机操作系统零散笔记——关于进程同步

进程的同步当多个进程同时访问一个资源的情况文件位置指针如果同时访问共享数据的话,那就有可能会破坏数据。生产——消费者问题听完后发现这里想说的问题学过了,就在我的博客中关于tcpip网络编程复习的第十八篇中有。我们做到什么能保证不会发生数据破坏怎么实现据我所知有俩办法,互斥量和信号量竞争条件抽象成了临界区。临界区就是一段代码,这段代码对共享的数据进行访不是所有的并发访问都有可能...

2020-02-09 19:30:14 103

原创 TCP/IP网络编程第13章多种I/O函数复习总结

这章内容较少较简单介绍下send,recv等系统IO函数比write和read就多了第四个参数:接收数据时指定的可选项信息。(可以利用位或运算同时传递多个信息)只略会了三个:1、MSG_OOB用于传输带外数据(Out-of-band data)2、MSG_PEEK验证输入缓冲中是否存在接受的数据(可以做到即使读取了输入缓冲的数据也不会删除)3、MSG_DONTROUTE调用I...

2020-02-09 17:15:45 214

原创 TCP/IP网络编程第12章IO复用select(偷偷加了些17章epoll的用法的内容)

IO复用的具体理解:感觉有点像剪枝,就是提高了利用率。可以认为select函数是IO复用的全部内容。先理解理解fd_set数组变量,该数组是存有0和1的位数组。既然是位数组,那要对fd_set变量进行操作的话是以位为单位的,这样也就意味着直接操作会比较麻烦,因此我们都通过下面这些宏来对fd_set变量进行操作。FD_ZERO(fd_set *fdset); 将fd_set变量的所有位...

2020-02-09 17:08:35 206

原创 计算机操作系统零散笔记——关于CPU调度(二)

cpu调度其实做的事情就是去选择下一个进程目标是让昨天提到的各个评判指标达到最优优先级调度 一个很重要的调度的方法但优先级调度不能说是一个单独的调度方法,只是一种实现策略。就是优先级高的先调度,而优先级谁高谁低是根据算法优先级调度也有问题,就是优先级低的进程可能被饿死。再来一种调度方法,Round Robin是时间片轮转法每个进程分一个时间片(Burst TIme),每个进程一次用c...

2020-02-08 20:06:26 260

原创 TCP/IP网络编程第10~11章复习总结

本来打算三章的,由于在家里有些不可避免的事儿浪费了些时间,还有就是第十章遗忘的确实有点多/(ㄒoㄒ)/,所以就复习了两章。并发服务器端实现模型和方法,具有代表性的有如下三种:1、多进程服务器:通过创建多个进程提供服务。2、多路复用服务器:通过捆绑并统一管理I\O对象提供服务。3、多线程服务器:通过生成与客户端等量的线程提供服务。父进程返回子进程ID子进程返回0有关僵尸进程:长生...

2020-02-08 17:16:01 167

原创 计算机操作系统零散笔记——关于CPU调度(一)

CPU的调度最大化cpu的利用CPU-I/O Burst Cycle大多程序通过IO获得数据,通过CPU对数据进行处理,再通过IO将结果输出出去进程可分为两类1、CPU绑定的进程, 对CUP用的多很少IO2、IO绑定的进程, 对IP用的多很少cpu调度大概四种情况:1、一个进程从运行态到等待态时。非抢占式2、一个进程从运行态到就绪态。抢占式3、...

2020-02-07 19:21:01 256

原创 TCP/IP网络编程第7~9章复习总结

使用close函数关套接字时,不仅无法传输数据,也无法接收数据。这种是非常不优雅的。 我们需要优雅的断开方式。即半关闭函数shutdown(). int howto 有如下可能值:1、SHUT...

2020-02-07 16:36:13 181

原创 计算机操作系统零散笔记——关于线程

2020-02-06 17:49:14 98

原创 TCP/IP网络编程第4~6章复习总结

要熟练掌握TCP内部工作原理原理1:与对方套接字的连接(三次握手)原理2:与对方主机的数据交换原理3:断开与套接字的连接(四次挥手) 利用...

2020-02-06 15:26:06 190

原创 计算机操作系统零散笔记——关于进程

决定不定期整理一下计算机操作系统的笔记,零零散散的。。表现得凑合凑合,但是在脑子里不能凑合(¬︿̫̿¬)-----------------------------------------------------------分割线-------------------------------------------------------------------------------------...

2020-02-05 17:51:55 262

原创 TCP/IP网络编程第1~3章复习总结

在CSDN里的内容都比较干练,属于复习过程中记下来的,相对于正式笔记来说更加的短小精悍,都是我自以为的重点要是看起来有些困难的话。欢迎访问我的GitHub,这里面是稍微啰嗦但非常具体的笔记,属于学的时候记下来的,下面是传送门https://github.com/oin625/Tcp-ip----------------------------------------------------...

2020-02-05 17:27:28 263

空空如也

空空如也

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

TA关注的人

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