自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 Redis设计与实现笔记

一、数据结构与对象 1、SDS 结构包含len、free、buf。len表示当前大小、free表示剩余大小,buff为内容。 c字符串再增长和缩短操作都会内存重分配,需要系统调用,耗时。 分配原则:修改后长度小于1M,多分配和len同样大小的未使用空间;大于时多分配1M空间。使得连续增长n次字符...

2020-03-27 18:27:18

阅读数 22

评论数 0

原创 分布式知识点

1、CAP 定理 一致性(Consistence) :所有节点访问同一份最新的数据副本 可用性(Availability):每次请求都能获取到非错的响应——但是不保证获取的数据为最新数据 分区容错性(Partition tolerance) : 分布式系统在遇到某节点或网络分区故障的时候,仍然能...

2020-03-13 16:44:48

阅读数 15

评论数 0

原创 Muduo学习

一、线程安全的对象生命期管理 对象构造要做到线程安全,唯一的要求是在构造期间不要暴露this指针。如果this指针被泄漏给其他对象,那么别的线程有可能访问这个半成品对象,这会造成难以预料的后果。 成员函数用来保护临界区的互斥器本身就是必须有效的,但析构函数会把互斥器销毁掉。 share_ptr的...

2020-03-10 15:56:52

阅读数 15

评论数 0

原创 Linux常用命令、API

1、查找当前目录下名为abc文件 find . -name abc 2、查找当前目录下名字包括abc的文件 grep “abc” -R .(当前目录,也可以加绝对路径)。 3、创建新文件 touch abc.c ...

2020-02-23 20:35:54

阅读数 42

评论数 0

原创 HTTP学习

一、简介 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 二、特点 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户...

2020-02-22 12:27:26

阅读数 12

评论数 0

原创 数据库知识点

一、左连接、右连接、内连接区别: 左连接:左表不受限制和右表中连接字段相等的字段 右连接:右边不受限制和左表连接字段相等的字段 inner join(内连接或等值连接):只返回两个表相等的字段 full join(全外连接):返回左右表的全部字段和两个表相等的字段 二、聚簇索引和非聚簇索引: 聚簇...

2020-02-21 17:20:36

阅读数 36

评论数 0

原创 操作系统知识点

一、进程调度几种方式 1、先来先服务 2、基于优先级调度:抢占/非抢占 3、基于时间片调度,多级反馈队列调度算法 4、短作业(进程)优先调度算法 参考 ...

2020-02-21 11:41:28

阅读数 73

评论数 0

原创 计算机网络知识点

一、select poll epoll区别 select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是: 1、 单个进程可监视的fd数量被限制,即能监听端口的大小有限。 2、 对socket进行扫描时是线性扫描,即采用轮询的方法,效率较低 当套接字比较多的时候...

2020-02-20 12:49:39

阅读数 89

评论数 0

原创 面经中的算法题总结

1、题目:有两个序列a,b,大小都为n,序列元素的值任意整数,无序; 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小。 例如: var a = [100,99,98,1,2, 3],b = [1, 2, 3, 4,5,40]; 思路: 当前数组a和数组b的和之...

2020-02-19 19:39:50

阅读数 50

评论数 0

原创 Shell 查看一个文件,大于10M删除,否则打印内容

在shell里“ ` ”是什么意思? 命令替换,两个`中包含要替换的命令。 #!/bin/sh filename = media.log filesize = `ls -l $filename | awk '{ print $5 }'` maxsize = $((1024*10...

2020-02-19 18:37:20

阅读数 29

评论数 0

原创 mySQL常用语句

1、查询所有科目分数大于80的姓名 SELECT name FROM grade GROUP BY name HAVING MIN(score) > 80; SELECT DISTINCT name FROM grade WHERE name NOT IN(SELECT DISTINCT n...

2020-02-18 12:47:57

阅读数 13

评论数 0

原创 STL源码剖析学习

一、STL概论 1、临时对象的使用 刻意制造临时对象的方法,在型别名称之后直接加一堆小括号,并指定初值。如int(8)、vector<int>等。 2、迭代器的前闭后开区间表示法 3、仿函数的使用 仿函数可以起到取代函数指针的作用。函数指针的缺点是无法持有自己的状态,也无...

2020-02-05 14:41:38

阅读数 58

评论数 0

原创 杂项知识点整理

1、左连接、右连接、内连接区别: 左连接:左表不受限制和右表中连接字段相等的字段 右连接:右边不受限制和左表连接字段相等的字段 inner join(内连接或等值连接):只返回两个表相等的字段 full join(全外连接):返回左右表的全部字段和两个表相等的字段 2、聚簇索引和非聚簇索...

2020-01-07 14:29:41

阅读数 149

评论数 0

原创 UNP学习

1、TCP、UDP、SCTP使用16位的端口号来区分进程。

2020-01-06 20:33:20

阅读数 34

评论数 0

原创 设计模式学习

基本原理 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。 分类 主要分为三类: 创建型模式 这些设计模式提供了一种在创...

2019-12-27 09:10:52

阅读数 12

评论数 0

原创 TCP/UDP学习

1、运输层是端对端(应用进程)之间的通信。 2、TCP和UDP的区别 1)TCP是全双工的可靠信道。UDP尽最大努力交付,是不可靠信道。 2)UDP开销小,效率比较高。 3)TCP提供面向连接的服务,UDP传输数据之前不需要建立连接。 4)UDP没有拥塞控制。TCP面向字节流,根据对方给...

2019-12-25 10:39:34

阅读数 35

评论数 0

原创 APUE学习

1、fork函数父进程pid>0,子进程pid=0。 2、execlp函数可以执行从标准输入读入的命令。

2019-12-23 21:25:40

阅读数 32

评论数 0

原创 Linux库函数学习

fork()函数:创建子进程。 https://www.cnblogs.com/dongguolei/p/8086346.html

2019-10-25 21:41:19

阅读数 26

评论数 0

原创 计算机开机流程

1、BIOS:开机主动执行的韧体,会认识第一个可开机的设备。 2、MBR:第一个可开机设备的第一个扇区内的主引导分区块,内包含引导加载程序(bootloader)。第一个扇区除了MBR之外,还有整块硬盘的分区表。 3、bootloader:读取内核文件执行(只能识别自己系统分区的内核文件),可以转...

2019-10-16 22:23:44

阅读数 17

评论数 0

原创 Linux内核学习

Linux引导主要分为如下几个流程: 一、第一阶段 1、处理器进入管理模式,禁止中断,,读取CPU的id。 2、调用函数,通过枚举结构体,判断是否有与当前CPU的相同的结构体,确定内核是否支持当前CPU和当前机器。 3、调用start_kernel()函数进入下一阶段。 二、第二阶段 ...

2019-10-14 15:58:21

阅读数 30

评论数 0

原创 嵌入式学习链接

运行地址和加载地址的区别: https://www.cnblogs.com/liulipeng/archive/2013/10/14/3368938.html

2019-10-13 21:52:04

阅读数 16

评论数 0

原创 U-boot学习

Bootloader:系统上电进行硬件初始化,时钟,存储等。然后最重要的是将操作系统内核复制到内存中运行。ARM体系结构的CPU从地址0x00000000开始运行,Bootloader就存放在这个开始地址处,一上电就可以执行。硬件部分的程序在/board文件夹内,U-boot通过makeflie中...

2019-10-12 11:28:52

阅读数 18

评论数 0

原创 Leetcode刷题记录

2:两数相加。判断数组里和为n的两数位置。可用一层hash遍历解。 3:最长不重复子串。一层循环,用一个数组存储该字符上一次出现的位置。 5:最长回文子串。两层循环。 ...

2019-09-11 08:54:01

阅读数 184

评论数 0

原创 c++学习

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数...

2019-07-16 09:35:53

阅读数 44

评论数 0

原创 Next指针传递问题

struct ListNode{ int val; ListNode *next; ListNode(int x):val(x),next(NULL){} } //表述一 r = r->next; r = new ListNode(0); //表述二 r->...

2019-05-13 16:46:48

阅读数 145

评论数 0

原创 数据结构与算法学习链接

分治算法: https://www.cnblogs.com/xsyfl/p/6921687.html 动态规划: https://www.cnblogs.com/xsyfl/p/6926269.html 贪心算法: https://www.cnblogs.com/xsyfl/p/6938...

2019-04-13 17:17:37

阅读数 64

评论数 0

原创 freopen_s的使用

int main() { int a, b; FILE *stream1; freopen_s(&stream1, "in.txt", "r", stdin); freopen_s(&stream...

2019-04-10 16:36:13

阅读数 1876

评论数 1

原创 C++输出透明背景字体

void printtptext(HWND hwnd, int x, int y, int cHeight, int cWidth, LPCWSTR lpString, COLORREF color, LPCWSTR pszFaceName) { &amp;amp;amp;amp;am...

2019-04-08 12:13:06

阅读数 289

评论数 0

原创 深度学习资料及问题链接

图像文字识别(三):Tesseract4.0训练字库,提高正确识别率 https://blog.csdn.net/a745233700/article/details/80175883 tensorflow 入门+神经网络初步 https://blog.csdn.net/hustqb/art...

2019-04-08 12:07:18

阅读数 26

评论数 0

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