自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (15)
  • 收藏
  • 关注

原创 redis之AOF持久化

AOF持久化

2018-06-27 23:13:04 216

原创 redis RDB 持久化

Redis 提供了RDB 持久化功能,这个功能可以将Redis 在内存中的数据库状态保存到磁盘里面,避免数据意外丢失,RDB 文件是保存在硬盘里面的。1.RDB 文件的创建创建RDB文件:SAVE、BGSAVE 1)SAVE 命令会阻塞Redis 服务器进程,直到RDB 文件创建完毕为止,在服务器进程阻塞期间,服务器不能处理任何命令请求。 2)BGSAVE 命令会派生出一个子进程,然后...

2018-06-20 21:51:23 280

原创 redis源码之数据库

未完待续。。数据库1.服务器中的数据库Redis 服务器将所有数据库都保存在服务器状态 redis.h/redisServer 结构的db数组中, db 数组的每个项都是一个redis.h/redisDb 结构, 每个redisDb 结构代表一个数据库。/**服务器状态*/struct redisServer {...//一个数组,保存着服务器中的所有数据...

2018-05-25 10:44:43 486

原创 redis源码阅读随笔之第一部分:数据结构与对象

未完待续…

2018-05-23 14:59:32 148

原创 redis源码之对象

未完待续…对象简介:对于 Redis 数据库保存的键值对来说, 键总是一个字符串对象, 而值则可以是: 1.字符串对象、 2.列表对象、 3.哈希对象、 4.集合对象、 5.有序集合对象 的其中一种。2.定义typedef struct redisObject { // 类型 unsigned type:4; // 编码 ...

2018-05-21 17:43:12 288

原创 redis源码之字典dict

未完待续…字典dict简介:它支持插入、删除、替换、查找和获取随机元素等操作。 哈希表会自动在表的大小的二次方之间进行调整。 键的冲突通过链表来解决。定义/* * 1.哈希表节点 */typedef struct dictEntry { // 键 void *key; // 值 union { void ...

2018-05-20 11:12:00 545

原创 redis源码之跳跃表skiplist

未完待续…跳跃表skiplist1.简介:离散,有序的数据结构,2.定义:/* * 跳跃表节点 */typedef struct zskiplistNode { robj *obj;// 成员对象 double score;// 分值 struct zskiplistNode *backward;// 后退指针 struct z...

2018-05-19 11:33:54 196

原创 redis源码之链表list

未完待续…链表list1.简介:链表提供了高效的节点重排能力,以及顺序性的节点访问方式,并且可以通过增删节点来灵活地调整链表的长度。#

2018-05-17 17:02:51 240

原创 redis源码之压缩列表ziplist

未完待续…压缩列表ziplist1.简介压缩列表是 Redis 为了节约内存而开发的, 由一系列特殊编码的连续内存块组成的顺序型(sequential)数据结构。2.组成 属性 类型 长度 用途 zlbytes uint_32t 4B 记录整个压缩列表占用的内存字节数:在对压缩列表进行内存重分配, 或者计算 zlend的位置...

2018-05-17 16:40:08 6429 2

原创 redis源码之整数集合intset

未完待续…整数集合intset简介:intset应用intset定义intset与1.SDS 遵循 C 字符串以空字符结尾的惯例;因此可以直接重用一部分 C 字符串函数库里面的函数。 C字符串 intset 可以使用所有 < string.h > 库中的函数 可以使用一部分 &

2018-05-17 11:17:23 326

原创 redis源码之动态字符串sds

未完待续…

2018-05-17 10:19:28 570

原创 Leetcode笔记之字符串

string s="";//初始化一.字符串简单题型8.字符串转整数 (atoi)1.定义 i=0;while 跳过空格 2.if 跳过+/-,确定符号sign;并且符号之后必须紧跟数字,否则返回0 3.溢出判断:如果当前res> INT_MAX / 10 或者res == INT_MAX / 10 &&amp

2018-05-09 18:29:09 398

原创 leetcode笔记之数学

未完待续…一.简单计算7. 反转整数反转类的经常出现,链表,数组,字符串、整数、栈等等,while(x){ int tmp = res;//1.保存前一个值用于下面的溢出判断 res=res*10+x%10;//2.累计 x/=10;//3.更新x if(res/10!=tmp)//4.溢出判断 return 0;}retu...

2018-05-07 11:46:56 401

原创 leetcode笔记之数组

数组要注意越界问题一.数组的和一般转化为有序,但是如果是返回位置而不是数的集合,就要用到hashtable1.两数之和(数组无序,返回位置)1.申请一个hash_table unordered_map<int, int> hash; 2.遍历数组,令num = target - nums[i]; 2.1.如果num已经在hash_map中了,那就返回ha...

2018-05-02 23:07:05 208

转载 linux读写锁|死锁|数据库行锁|的实现

未完待续… https://www.cnblogs.com/cynchanpin/p/6794914.html https://blog.csdn.net/ojshilu/article/details/25244389

2018-04-22 11:48:17 264

原创 session保持与负载均衡

首先介绍一下负载均衡和session,并且以Nginx和session为例:1.负载均衡目的是通过反向代理服务器(Nginx)使得后端的服务器负载保持均衡,尽量避免某一个后端服务器过负载,从而影响服务。 Nginx提供的负载均衡策略: (1)加权轮询(静态加权) (2)当前最小连接数 (3)ip_hash (4)url_hash(第三方模块) 其中:ip_hash也有不好的...

2018-04-22 11:42:27 2092 2

原创 大端模式和小端模式的判断及其互相转化

一.定义大端模式(Big Endian):数据的高字节,保存在内存的低地址中;数据的低字节,保存在内存的高地址中。小端模式(Little Endian):数据的高字节,保存在内存的高地址中;数据的低字节,保存在内存的低地址中。二.大小端模式的判断使用联合,通过判断首个成员的值,确定是大端还是小端模式:bool IsBigEndian(){ union N...

2018-04-22 10:17:11 1204 1

原创 leetcode笔记之链表

未完待续… 链表的问题不难,就是需要考虑很多边界条件。。 需要注意的是: 1.当连边的结构发生改变时时,可能当前遍历的节点指针p->next指针已经不指向之前的位置了,一般可以设置多个指针来完成遍历。2.当头结点不确定时,或者是为了避免删除头结点的麻烦,在head节点之前再加一个节点是一个很重要的技巧,否则还要判断新的head节点是否为NULL。3.删除节点/改变节点结构:可以...

2018-04-18 15:57:33 260

原创 Leetcode分类解析(二叉树)

持续更新中…1.二叉树中序遍历94.Binary Tree Inorder Traversal 二叉树中序遍历 98.Validate Binary Search Tree 验证二叉搜索树 1.指定一个最小值LONG_MIN; 2.中序遍历过程中如果出现降序,返回false; 3.过程中没有返回false,最后返回true。bool isValidBST(TreeNo...

2018-04-16 15:28:02 299

原创 linux 命令 awk,grep,sed

一.awk1、由单引号括起来的字符都作为普通字符出现。特殊字符用单引号括起来以后,也会失去原有意义,而只作为普通字符解释 $ string=’$PATH’ $ echo $string $PATH2.由双引号括起来的字符,除$(美元符号)、\(反斜杠)、’(单引号)、和”(双引号)这几个字符仍是特殊字符并保留其特殊功能外,其余字符仍作为普通字符对待。 3.反引号括起来的...

2018-04-09 11:13:47 269

原创 常用的Linux命令

常用的Linux命令(1)查看CPU利用率:top (2)查看当前目录:pwd和ls(ls -a可以查看隐藏目录) (3)切换目录:cd (4)查看文件占用磁盘大小:du和df (5)创建文件夹:mkdir \$ mkdir -p letter/important //一连串子目录 \$ mkdir letter //新建目录 \$ mkdir -m=r-- let...

2018-04-09 08:32:48 123

原创 机器学习基本算法总结4

机器学习基本算法总结☞其他工具代码在这,基于python3(原书代码是python2)这里只是一个总结,原书已经讲解很清楚了,不清楚的直接看代码目录1. 使用PCA来简化数据2. 利用SVD来简化数据==========================一、预测数值型数据:回归1. PCA 相关描述————————————————————

2018-01-30 09:09:43 821

原创 机器学习实战-基本算法总结3

机器学习基本算法总结☞无监督学习代码在这,基于python3(原书代码是python2)这里只是一个总结,原书已经讲解很清楚了,不清楚的直接看代码目录1.K-Means算法2.基于apriori算法进行关联分析3.使用FP-growth算法来高效发现频繁项集==========================一、预测数值型数据:回归1.1 K

2018-01-27 23:38:30 735

原创 机器学习实战-基本算法总结2

机器学习基本算法总结☞监督学习——回归代码在这,基于python3(原书代码是python2)这里只是一个总结,原书已经讲解很清楚了,不清楚的直接看代码目录1.预测数值型数据:回归2.树回归==========================一、预测数值型数据:回归1.线性回归最佳拟合——————————————————————————

2018-01-26 11:29:12 590

原创 CSDN-markdown 页内跳转目录

试过好多方法,但都是打开新的网页,比如说:(注:方法二不会打开新的网页)方法一锚点跳转:[点击跳转到标题0](#jump)span id="jump">标题0span> //锚点设置点击跳转到标题0 · · · ·标题0· · · · 查看网页源码会发现target 被赋值,所以打开新的网页,方法二因此尝试target=”_self

2018-01-26 11:07:17 3783 4

原创 机器学习实战-基本算法总结1

机器学习基本算法总结☞监督学习——分类代码在这,基于python3(原书代码是python2)这里只是一个总结,原书已经讲解很清楚了,不清楚的直接看代码,或者李航的统计学习方法也有公式推导。目录11.k-近邻算法(kNN)2.决策树(ID3)3.基于概率论的分类方法:朴素贝叶斯4.Logistic回归5.支持向量机(SVM)6.Adaboost元算法提高

2018-01-25 22:27:40 21325 4

转载 同步IO、异步IO、阻塞IO、非阻塞IO

一直对这四个东东的概念很模糊,放一起更模糊,根据别人写的总结一如下: “阻塞”与”非阻塞”与”同步”与“异步”不能简单的从字面理解,往往不同上下文中它们的意思是不一样的。1.同步 / 异步(同步/异步主要针对C端: )描述的是执行IO操作的主体是谁,同步是由用户进程自己去执行最终的IO操作。异步是用户进程自己不关系实际IO操作的过程,只需要由内核在IO完成后通知它既可,由内核进程来执行最终的...

2018-01-17 17:05:10 162

转载 UNP-UNIX网络编程 第二十六章:多线程

fork是昂贵的(把父进程的内存映像复制到子进程),并且需要进程间通信(IPC)机制。 线程的创建速度快(10-100 倍),同一进程中的线程共享相同的全局内存,线程之间容易共享信息,但是,这就带来了同步的问题。同一进程内的所有线程除了共享全局变量,还共享: 进程指令,大多数数据,打开的文件(即文件描述符),信号处理函数和信号处置,当前工作目录,用户ID和组ID,”这些很容易出错误”不...

2018-01-17 16:59:22 231

转载 UNP-UNIX网络编程 第十六章:非阻塞式I/O

(一) 概述套接字默认状态是阻塞的。也就是说当发出一个不能立即完成的套接字调用时,进程将被投入睡眠,等待相应操作的完成 ,一般分为四类: 1. 输入操作:包括read、readv、recv、recvfrom、recvmsg这5个函数。当套接字缓冲区没数据可读时,进程将被投入睡眠状态,直到有数据可达。 2. 输出操作:包括write、writev、send、snedto和sendmsg这5...

2018-01-17 16:59:02 190

转载 UNP-UNIX网络编程 第十五章:域协议

Unix域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通讯的一种方式,单个主机上执行通信,也就是所谓的进程间通信(IPC),所以Unix域套接字协议可以视作IPC方法之一。 Unix域提供两类套接字:字节流套接字(类似TCP)和数据报套接字(类似DUP)。 Unix域中用于标识客户和服务器的协议地址是普通文件系统中的路径名(但需要和Unix域套接字关联起来),否则无法读写这些文...

2018-01-17 16:58:43 192

转载 UNP-UNIX网络编程 第十四章:高级I/O函数

(一)概述首先是在I/.O操作上设置超时,三种方法; read和write这两个函数的三个变体: recv和send运行通过第四个参数从进程到内核传递标志; readvhe和writev允许指定往其中输入数据或从其中输出数据的缓冲区向量; recvmsg和sendmsg结合了其他I/O函数的所有特性,并具备接收和发送辅助数据的新能力。(二)套接字超时1、套接字的I/O操...

2018-01-17 16:58:17 194

转载 UNP-UNIX网络编程 第十一章:名字与地址转换

(一) 域名系统(DNS)DNS主要用于主机名和IP地址之间的映射。主机名可以是简单的名字ljm,也可以是全限定域名ljm.localdomainbaidu.com等。1.资源记录DNS中的条目称为资源记录(RR)。我们感兴趣的RR类型只有几个: A A记录把一个主机名映射为一个32位的IPv4地址。 AAAA 4A记录把一个主机名映射为一个128位的IPv6...

2018-01-17 16:57:48 280

转载 UNP-UNIX网络编程 第八章:基本udp套接字编程

一.使用UDP的场合:DNS(域名系统)、NFS(网络文件系统)、SNMP(简单网络管理协议) UDP没有像TCP那样的连接,客户端直接使用sendto函数向某服务器发送数据报,服务器端一直recvfrom函数阻塞,以接收任何客户端发送的数据,把数据报再发送给客户协议地址。 两个新函数:sendto()和recvfrom();connect()在UDP套接字中的用法;异步错误。in...

2018-01-17 16:57:08 198

转载 UNP-UNIX网络编程 第七章:获取/设置套接字选项的方法

一int getsockopt(int sockfd, int level, int optname, void* optval, socklen_t* optlen); int setsockopt(int sockfd, int level, int optname, const void* optval, socklen_t optlen); //两个函数成功返回0,...

2018-01-17 16:56:46 216

转载 UNP-UNIX网络编程 第六章:I/O复用

一.I/O模型我们看到上面的TCP客户同时处理两个输入:标准输入和TCP套接字。我们遇到的问题就是在客户阻塞于(标准输入上的)fgets调用期间,服务器进程会被杀死。服务器TCP虽然正确地给客户TCP发送一个FIN,但是既然客户进程阻塞于从标准输入读入的过程,它将看不到这个ROF,知道从套接字读时为止(可能已经过了很长时间)。这样的进程需要一种预先告知内核的能力,使得内核一旦发现进程指定的一个...

2018-01-17 16:55:36 394

转载 UNP-UNIX网络编程 第五章:TCP客户/服务器程序示例

{ int n; if((n = socket(family, type, protocol)) < 0) { printf("socket() error!"); exit(0); } else return n;}服务器{ ssize_t n; char...

2018-01-16 20:10:13 248

转载 UNP-UNIX网络编程 第四章:基本TCP套接字编程

1.#include <sys/socket.h>int socket(int family, int type, int protocol);//返回:若成功则返回非负描述符,出错则为-1,family是协议族,type表明套接字类型family参数指定协议族,也被称为协议域。IPV4:AF_INET、IPV6:AF_INET6。type参数指定套接字类型。字节流:S...

2018-01-16 20:02:32 182 1

转载 UNP-UNIX网络编程 第三章:套接字编程简介

1.IPV4套接字地址结构:#include <netinet/in.h>struct in_addr { in_addr_t s_addr; //32bit}struct sockaddr_in { uint8_t sin_len; // sa_family_t sin_family; //AF_INET...

2018-01-16 19:57:28 227

转载 UNIX环境高级编程 第十五章:进程间通信:是指在不同进程之间传播或交换信息

IPC的方式通常有管道(包括无名管道和命名管道(FIFO))、消息队列、信号量、、共享存储、Socket、Streams等。其中 Socket和Streams支持不同主机上的两个进程IPC。1.管道,通常指无名管道,是 UNIX 系统IPC最古老的形式。它是半双工的(即数据只能在一个方向上流动),具有固定的读端和写端。它只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之...

2018-01-16 19:43:02 294

转载 UNIX环境高级编程 第十三章:守护进程

守护进程(daemon)是生存期长的一种进程。它们常常在系统引导装入时启动,仅在系统关闭时才终止(生存期)。 因为它们没有控制终端,所以说它们时在后头运行的。UNIX系统有很多守护进程,它们执行日常事务活动。 本章将说明守护进程的结构,以及如何编写守护进程程序。因为守护进程没有控制终端,我们需要了解在出现问题时,daemon如何报告出错情况。1. 守护进程的特征先来看看一些常用的系...

2018-01-16 19:33:13 213

tinyhttpd.tar.tz

tinyhttpd在linux下运行有点错误,已经改正,并且注释,包括cgi

2017-11-04

C++primer5的code

C++primer5的code,每个章节,有用的拿走.................................................................................................

2017-11-01

2017互联网笔试面试

2017互联网笔试面试, ................................................................网易的

2017-11-01

时差和频差无源定位方法研究matlab程序

一.dwmain.m为定位程序,1.调用了gj.m(轨迹方程)2.SC.m(时差定位程序)3.pc.m(频差定位程序) 二.GDOP_main.m为时差定位GDOP图 三.pcgdop_main.m为频差定位GDOP图

2017-11-01

leetcode经典题解析.pdf

leetcode经典题解析.pdfleetcode经典题解析.pdfleetcode经典题解析.pdf

2017-11-01

牛客网直冲bat程序源码you解解析.

牛客网直冲bat程序源码you解解析.,有解析,很清晰,有解析,很清晰

2017-11-01

《Linux就该这么学》高清版本

《Linux就该这么学》高清版本,《Linux就该这么学》高清版本

2017-11-01

Unix网络编程第三版代码

Unix网络编程第三版代码,真的,Unix网络编程第三版代码,真的

2017-10-31

频差定位matlab

频差定位matlab,频差定位matlab频差定位matlab,频差定位matlab

2017-10-31

A_star算法matlab程序

A_star算法matlab程序,A_star算法matlab程序,A_star算法matlab程序

2017-10-31

粒子群算法matlab

粒子群算法matlab,粒子群算法matlab,粒子群算法matlab

2017-10-31

Q-Learing路径规划MATLAB仿真

Q-Learing路径规划MATLAB仿真,Q-Learing路径规划MATLAB仿真

2017-10-31

蚁群算法matlab程序

蚁群算法matlab程序,蚁群算法matlab程序,蚁群算法matlab程序

2017-10-31

空空如也

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

TA关注的人

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