自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (6)
  • 收藏
  • 关注

原创 redis源码分析 --- 字典dict

字典dictredis的字典使用哈希表作为底层实现,一个哈希表里面可以有多个哈希节点,而每个哈希表节点就保存了字典中的一个键值对。 dict结构定义 typedef struct dictEntry { void *key; /*! 键*/ union { void *val; uint64_t u6...

2019-03-10 18:00:22 215

原创 redis源码分析 --- 简单动态字符串sds

简单动态字符串sdsredis没有直接使用c语言标准库中传统的字符串表示,而是自己构建了简单字符串(sds)的抽象类型,它的特点是:可在常数时间复杂度获取字符串长度,因为sds结构中保存了数据的长度、杜绝缓冲区溢出,可动态扩展内存,减少重复修改字符串带来的内存重新分配次数、惰性释放内存空间、二进制安全和兼容部分c语言字符串函数。 sds定义 typedef char *sds;...

2019-03-08 23:40:04 237

转载 epoll机制:epoll_create、epoll_ctl、epoll_wait、close

在Linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,linux/posix_types.h头文件有这样的声明:#define__FD_S

2016-12-14 11:00:22 694

原创 C语言双指针的常见用法

鉴于工作经验有限,目前遇到的双指针的用法有如下几种情况,后续工作中如发现有其他的用法,会更新上去。1、用作函数的返回值,比较常见的是返回分配的堆内存地址。2、用于申请动态一维数组,只是这个一维数组中存储的是指针类型。3、表示指针的地址。

2015-10-30 10:19:31 15954

原创 Thread-Specific Data(线程私有数据)

#include #include #include #include #include pthread_key_t key_handle;typedef struct tag_tsd_data{ int iData; //TODO}STD_DATA;void destructor(){ printf("pthread_key destructor.\n");}

2015-10-22 09:06:05 892

原创 do {...} while (0) 在宏定义中的作用

如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。下面就是一个例子:#define __set_task_state(tsk, state_value) \ do { (tsk)->state

2015-09-14 14:33:47 564

原创 memcpy与memmove的区别及源码

memcpy函数       void *memcpy(void *dest, const void *src, size_t n);DESCRIPTIONDESCRIPTION       The  memcpy()  function copies n bytes from memory area src to memory area dest.  The memory areas

2015-09-11 16:58:49 866 2

转载 回调函数理解

为了弄明白回调函数的奥妙,首先提出三个问题:1.        回调函数是什么东西?2.        回调函数怎么开发,怎么使用?3.        回调函数的作用,应该在什么情况下使用?第一个问题:*******************************************************************************其实回调就是

2015-09-06 10:23:34 662

原创 IP路由查找的“最长匹配原则”

最长匹配原则是CISCO IOS路由器默认的路由查找方式。当路由器收到一个IP数据包时,会将数据包的目的IP地址与自己本地路由表中的表项进行bit by bit的逐位查找,直到找到匹配度最长的条目,这叫最长匹配原则。这里有几个概念要先搞清楚:    看上面的图,灰色的空间172.16.0.0/16,这个网络号,我们称为主类网络号,所谓主类网络号,意思是该网络号,按照

2015-07-31 09:10:48 34676 2

转载 OSPF中的最短路径算法

Dijkstra算法介绍在数学上,以某个节点为起点,计算到其他节点的最短路径的算法,称为“单源最短路径” 算法。求“单源最短路径”的问题在数学上可以精确描述如下:“单源最短路径” 问题:已知一个由n个节点(V0..n)构成的有向连通图G=(V,E),以及图中边的权函数C (E),其中V代表节点集合,E表示所有边的集合,并假设所有权非负,求由G中指定节点V0到其他各个节点的最短路径。Di

2015-07-21 18:58:35 10344 1

原创 掩码、反掩码和通配符

掩码、反掩码和通配符[b]【掩码、反掩码和通配符】[/b]Mask 用来区分一个IP地址的网络部分和主机部分由左至右连续的“1”来表示网络位的部分,不能被0断开!!连续的“0”用来表示主机位的部分IP地址与掩码做“与”运算,得出的结果就是“网络ID”172.16.0.0255.255.0.0这个组合说明这是一个网络ID,掩码为 /16掩码只能取下

2015-07-16 14:33:31 4954

原创 IP首部校验和算法

一、校验和概念 报头校验和(Header Checksum)是针对IP报头的纠错字段。校验和不计算被封装的数据,UDP、TCP和ICMP都有各自的校验和。报头校验和字段包含一个16位二进制补码和,这是由数据包发送者计算得到的。接受者将连同原始校验和重新进行16位二进制补码和的计算。如果数据包传输中没有发生错误,那么结果应该16位全部为1。

2015-07-13 10:03:28 5743

原创 Win7关闭休眠方法

一、以管理员身份运行cmd.exe路径为C:\Windows\System32。二、在控制台中执行powercfg -h off命令

2015-07-08 10:20:23 784

原创 VMware虚拟机上网络连接类型(Bridged、Host-only、NAT)的三种模式

VMware虚拟机上网络连接类型(Bridged、Host-only、NAT)的三种模式

2015-07-07 17:45:19 597

转载 C++ Const关键字修饰变量、成员函数!

看到const 关键字,C++程序员首先想到的可能是const 常量。这可不是良好的条件反射。如果只知道用const 定义常量,那么相当于把火药仅用于制作鞭炮。const 更大的魅力是它可以修饰函数的参数、返回值,甚至函数的定义体。const 是constant 的缩写,“恒定不变”的意思。被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。所以很多C++程序设计书

2013-01-26 21:51:57 719

转载 C语言中的static用法详解

1.static变量静态变量的类型 说明符是static。 静态变量当然是属于静态存储方式,但是属于静态存储方式的量不一定就是静态变量。 例如外部变量虽属于静态 存储方式,但不一定是静态变量,必须由 static加以定义后才能成为静态外部变量,或称静态全局变量。2. 静态局部变量静态局部变量属于静态存储方式,它具有以下特点:  (1)静态局部变量在函数内定义 它的生存期为整

2013-01-12 20:22:09 546

跨平台网络通信与服务器开发框架

支持 HTTP/redis/memcache/beanstalk/smtp/ping/handler socket 等网络通信协议;支持线程池、协程、进程池、非阻塞、触发器等多种服务器编程模型;支持 XML/JSON/MIME/BASE64/UUCODE/QPCODE/RFC2047 等常见格式编解码;还有其它更多有价值的功能。

2020-05-25

pl/sql develop+key

pl/sql develop+key

2016-06-02

pl/sql develop

PLSQL Developer v11.0.2.1766.7汉化注册版

2016-06-02

收获不止Oacle

以课堂互动模式,生动形象的由浅入深的学习Oracle!

2014-04-15

收获不止Oracle

以课堂互动模式,生动形象的由浅入深的学习Oracle!

2014-04-15

VA_X_Setup 1940.vsix

Visual Assist X 1940,VS2010的超级好用完美助手,免注册。

2013-11-08

空空如也

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

TA关注的人

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