3 Cyrus_wen

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 9w+

Redis的数据结构之SDS及常用API

Redis的数据结构之SDSRedis没有使用C语言风格的字符串, 而是使用了一种叫SDS的简单动态字符串。C风格的字符串用来作为字符串字面量, 比如打印日志。当表示一个可以被修改的字符串的时候, redis会用SDS表示。redis是key_value型数据库, 它的key和value都是一个对象。SDS除了保存数据库中的字符串外还用作缓冲区(buffer): AOF模块中的A...

2019-03-10 22:55:23

java中的继承

java的继承1. java中继承的关键字是extends, 其实现的形式是:class Child extends Father{ }继承的主要作用就是对类进行扩充以及代码的复用。继承的简单例子:public class Person { private String name; private int age; public void setName(String na...

2018-11-14 14:57:58

java的内部类

内部类内部类:在一个类的内部嵌套其它类的操作叫内部类。简单的内部类:public class Outer { private String msg = "hello world"; class Inner //定义一个内部类 { public void print() { System.out.println(msg); } } public void fu...

2018-11-09 00:11:03

代码块

java的代码块根据代码块定义的位置以及关键字代码块分为普通代码块构造代码块静态代码块同步代码块(暂时不看,后来介绍)1. 普通代码块定义在方法中的代码块。public class TestMain { public static void main(String[] args) { { //直接使用{}定义普通方法块 int x = 10; System....

2018-11-05 23:31:03

this关键字的作用

this关键字的作用this关键字主要有以下三种用途this调用本类属性this调用本类方法this表示当前对象1. this调用本类属性我们可以看如下代码:public class Person { private String name; private int age; public Person(String name, int age) { name =...

2018-11-04 23:53:50

eclipse常用快捷键

Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率。Eclipse中有如下一些和编辑相关的快捷键。【ALT+/】此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类、方法和属性的名字时,多体验一下【ALT+/】快捷键带来的好处吧。【Ctrl+O】显示类中方法和属性的大纲,能快速定位类的方法和属性,在查找Bug时...

2018-11-04 19:03:06

旋转字符串(左旋)

题目要求:汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果。对于一个给定的字符序列S,请你把其循环左移K位后的序列输出。例如,字符序列S=”abcXYZdef”,要求输出循环左移3位后的结果,即“XYZdefabc”。思路:解法一:开辟了新的空间。class Solution {public: string LeftRotat...

2018-09-22 22:59:07

C/C++复习

C/C++复习C/C++基础语法static关键字作用 修饰变量 存储位置 - 静态存储区链接属性,本文件内有效修饰函数 链接属性 - 本文件内有效修饰成员变量和成员函数 静态成员函数没有this指针, 类和对象都可以调用静态成员函数不能是虚函数静态成员变量必须在类外初始化static和全局的区别const的作用 修饰变量不能被修改,指针可以修改但是注意编译...

2018-08-18 23:29:34

智能指针

auto_ptr我们申请一块内存并且绑定在auto_ptr p上面,当p离开作用域之后调用析构函数。但是存在一些问题。 auto_ptr赋值给另一个auto_ptr之后所有权转移,但是所有权不会转移回来。auto_ptr不能指向new[]auto_ptr不能指向容器shared_ptr共享所有权多个指针可以指向一块内存,最后一个shared_ptr离开作用域的时候释放内...

2018-08-18 23:28:32

重定向

重定向dup/dup2系统调用函数原型:#include <unistd.h>int dup(int oldfd);int dup2(int oldfd, int newfd);使用dup将标准输出重定向到文件中int main(){ int fd = open("./log", O_CREAT | O_RDWR); if(f...

2018-08-15 18:04:21

非阻塞IO

非阻塞IO如果内核还没有将数据准备好,系统调用会直接返回,并且返回EWOULDBLOCK错误码。首先介绍一下函数fcntlfcntl#include <unistd.h>#include <fcntl.h>int fcntl(int fd, int cmd, .../*arg*/);//传入的cmd不同,后面的参数不一样fcntl有下面5...

2018-08-15 16:45:43

5种高级IO

高级IO五种IO模型阻塞IO⾮阻塞IOIO多路转接异步IO信号驱动IO阻塞IO 在内核将数据准备好之前, 系统调⽤会⼀直等待. 所有的套接字, 默认都是阻塞⽅式。非阻塞IO 如果内核还未将数据准备好, 系统调⽤仍然会直接返回, 并且返回EWOULDBLOCK错误码。 ⾮阻塞IO往往需要程序员循环的⽅式反复尝试读写⽂件描述符, 这个...

2018-08-15 16:07:59

布隆过滤器

布隆过滤器 它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。 基本概念如果想要判断一个元素是不是在一个集合里,一般想到的是将所有元素保存起来,然后通过比较确定。链表,树等等数据结构都是这种思路. 但是随着集合中元素的增加,我们需要的存储空间越...

2018-08-13 16:54:05

c++之set

set的底层是平衡搜索树。搜索树:左边小右边大搜索树的时间复杂度是O(N)普通搜索树 左边比根节点小,右边比根节点大 O(N)AVL树 严格平衡 左右高度差不超过1 O(logN)红黑树 近似平衡 最长路径不超过最短路径...

2018-08-13 15:54:55

C++强制类型转换

C++强制类型转换C语言隐式类型转换 – 相关类型 强制类型转换 – 不相关类型 C++static_castreinterpret_castdynamic_castvoid Test(){ int i = 1; //隐式类型转换 double d = i; printf("%d %.2f\n",i, d); in...

2018-08-13 09:30:28

初始化列表

初始化列表1. 什么是初始化列表? 与其他函数不同,构造函数除了有名字,参数列表和函数体之外,还可以有初始化列表,初始化列表以冒号开头,后跟一系列以逗号分隔的初始化字段。 2. 为什么使用初始化列表 初始化类的成员有两种方式,一是使用初始化列表,二是在构造函数体内进行赋值操作。使用初始化列表主要是基于性能问题,对于内置类型,如int, float等,使用初始化类表...

2018-08-12 21:11:50

C++强制类型转换

C++强制类型转换void Test(){ int i = 1; //隐式类型转换 double d = i; printf("%d %.2f\n",i, d); int* p = &i; //显示类型转换 int address = (int)p; printf("%x, %d\n", p, address);}...

2018-08-12 20:27:09

多线程http服务器编写中遇到的问题

多线程http服务器编写中遇到的问题1. 404响应报文报头未加空行却仍然能正确执行。错误原因 404的html文件中开头有两行空行,影响了报文的结构。所以能正常响应。解决办法 首部和正文之间添加空行2. 不能产生并发请求。错误原因 pthread_create() 的最后一个参数传的是accept()返回值sock_fd的指针,...

2018-08-10 17:43:47

迭代器的基本使用(遍历)

迭代器的基本使用(遍历)一、定义 迭代器提供一些基本操作符:*、++、==、!=、=。这些操作和C/C++“操作array元素”时的指针接口一致。不同之处在于,迭代器是个所谓的复杂的指针,具有遍历复杂数据结构的能力。其下层运行机制取决于其所遍历的数据结构。因此,每一种容器型都必须提供自己的迭代器。事实上每一种容器都将其迭代器以嵌套的方式定义于内部。二、应用接下来我简单...

2018-08-02 10:26:49

HTTP服务器预备知识

HTTP服务器一、采用的相关重要协议http协议 TCP协议 DNS协议二、各协议的作用HTTP 针对目标web服务器生成HTTP请求报文TCP 为了方便通信,将HTTP请求按序号分为多个报文段,把每个报文段可靠的传送给对方。IP 搜索对方IP地址,一边中转一边传送TCP 接受报文段,并按原来的顺序重组请求报文HTTP 对web服务器请求的内容进行处理...

2018-08-01 15:47:40

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!