the cool grass
码龄8年
求更新 关注
提问 私信
  • 博客:81,955
    社区:10
    81,965
    总访问量
  • 40
    原创
  • 35
    粉丝
  • 17
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2018-06-04

个人简介:Advanced Programming in the UNIX Environment

博客简介:

cool grass's blog

博客描述:
https://github.com/grasslog/WebServer
查看详细资料
个人成就
  • 获得85次点赞
  • 内容获得20次评论
  • 获得184次收藏
  • 博客总排名826,184名
创作历程
  • 86篇
    2019年
成就勋章
TA的专栏
  • 算法竞赛一轮游
    2篇
  • 协程技术理解
    6篇
  • Redis源码分析
    8篇
  • 操作系统
    6篇
  • APUE到Linux内核
    17篇
  • 后台开发技术总结
    35篇
  • 协程技术
    6篇
  • 你真的理解操作系统吗?
    7篇
  • 算法竞赛
    2篇
  • 前沿技术知识扩展
    9篇
  • 多线程技术
    2篇
  • Redis设计与实现
    12篇
  • C++疑难杂症
    5篇
  • 编译原理
    1篇
  • 网络技术
    1篇

TA关注的专栏 1

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

创作活动更多

金三银四·四月创作之星挑战赛

当2026年的“金三银四”遇上Agent技术全面爆发的元年,每一位技术人都是这场智能革命的亲历者与定义者。 猫头虎AI诚挚邀请您加入「金三银四·四月创作之星挑战赛」。这不仅是一场关于流量的角逐,更是一次技术深潜与趋势预判的思维碰撞。 本次创作活动,猫头虎AI为你准备了Harness+OpenClaw+CLI多重引擎赋能创作,助你打通从代码交付到智能编排的“最后一公里”。请将你在面试季的所见所闻、在Agent开发一线的踩坑实战、以及对未来人机协作模式的深度洞察,化为文字。 --- **活动须知:** 1.**围观交流**→加入专属创作者活动围观群,和同期优质创作者互相催更、分享资源、围观大神:[点击进群=>https://bbs.csdn.net/topics/619770678](https://bbs.csdn.net/topics/619770678) 2.**质量自查**→发文前先看看文章结构,争取一次到位:[点击查看文章质量分入口](https://www.csdn.net/qc) --- 每一次发布,都是向""创作之星""更近一步——**2026年的技术影响力,从今天文章开始累积!**

580人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

Redis源码分析之sds

1. SDS简介Redis没有直接使用C语言传统的字符串而是自己创建了一种名为简单动态字符串SDS(simple dynamic string)的抽象类型,并将SDS用作Redis的默认字符串表示。在Redis里面,C字符串只会作为字符串字面量(string literal)用在一些无须对字符串值进行修改的地方,比如打印日志。当Redis需要的不仅仅是一个字符串字面量,而是一个字符串值时,R...
原创
博文更新于 2019.05.18 ·
732 阅读 ·
1 点赞 ·
2 评论 ·
1 收藏

算法竞赛-ch2-水仙花数

输出100~999中所有的水仙花数。若三位数ABC满足ABC=A立方+B立方+C立方,则称其为水仙花数。
原创
博文更新于 2019.05.31 ·
262 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Linux进程调度原理

转载自:http://www.cnblogs.com/zhaoyl/archive/2012/09/04/2671156.html  Linux进程优先级  进程提供了两种优先级,一种是普通的进程优先级,第二个是实时优先级。前者适用SCHED_NORMAL调度策略,后者可选SCHED_FIFO或SCHED_RR调度策略。任何时候,实时进程的优先级都高于普通进程,实...
转载
博文更新于 2019.06.19 ·
234 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

google.html

发布资源 2019.05.04 ·
html

gdb调试命令

用GDB调试程序 GDB是一个强大的命令行调试工具。大家知道命令行的强大就是在于,其可以形成执行序列,形成脚本。UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行软件的优势在于,它们可以非常容易的集成在一起,使用几个简单的已有工具的命令,就可以做出一个非常强大的功能。 于是UNIX下的软件比Windows下的软件更能有机地结合,各自发挥各自的长处,组合成更为强...
转载
博文更新于 2019.07.30 ·
2329 阅读 ·
3 点赞 ·
0 评论 ·
11 收藏

认识--Nginx

认识--Nginx Nginx简介Nginx安装和运行Nginx进程初识Nginx初体验静态文本服务器反向代理服务器负载均衡 入职半年来,一直在Nginx的基础上做模块开发,学到了很多东西,也碰到了很多坑。在业务开发的同时,由于对Nginx本身也是一知半解,造成了很多不必要的Bug。痛定思痛,很早以前就想系统的学习一下Nginx,迟迟没...
转载
博文更新于 2019.07.12 ·
537 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

线程安全的 Observer 模式

一个动态创建的对象是否还活着一个动态创建的对象是否还活着,光看指针是看不出来的(引用也一样看不出来)。指针就是指向了一块内存,这块内存上的对象如果已经销毁,那么就根本不能访问(就像 free 之后的地址不能访问一样),既然不能访问又如何知道对象的状态呢?换句话说,判断一个指针是不是合法指针没有高效的办法,这是 C\C++ 指针问题的根源。(万一原地址又新建了一个新的对象呢?再万一这个新的对象的类...
原创
博文更新于 2019.07.10 ·
739 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

http 协议--解析http请求的头部

有道翻译http 请求头部Google 翻译
原创
博文更新于 2019.07.08 ·
352 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Redis源码剖析--压缩列表ziplist

Redis源码剖析–压缩列表ziplistziplist结构头尾结构节点结构prev_entry_lengthencoding编码和解码ziplist基本操作创建空ziplist插入节点获取指定索引上的节点删除给定节点ziplist小结 压缩列表(ziplist)是由 一系列特殊编码的内存块构成的列表,其是Redis的列表建和哈希键的底层实现...
转载
博文更新于 2019.07.01 ·
351 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis源码剖析--整数集合Intset

Redis源码剖析–整数集合Intsetintset数据结构升级inset基本操作创建intset添加元素移除数据其他操作函数intset小结 本系列博客文章已经分析了Redis的大部分数据结构,包括动态字符串,双端链表,字典,跳跃表等,这些数据结构都非常强大实用,但是在内存消耗方面也非常“巨大”。Redis的数据都是存放在内存上面的,所以对内存的使用要求及...
转载
博文更新于 2019.07.01 ·
256 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis源码剖析--基数统计hyperloglog

Redis源码剖析--基数统计hyperloglog基数统计算法思路伯努利过程基数统计hyperloglog实现数据结构添加元素计算基数合并hyperloglog键hyperloglog小结Update 2016-12-9 Redis中hyperloglog是用来做基数统计的,其优点是:在输入元素的数量或者体积非常非常大的时候,计算...
转载
博文更新于 2019.07.01 ·
699 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis源码剖析--跳跃表 zskiplist

跳跃表数据结构跳跃表基本操作创建跳跃表插入节点跳跃表删除获取给定分值和成员的节点的排名区间操作跳跃表小结 跳跃表是一种有序的数据结构,它通过在每个节点中维持多个指向其他节点的指针,从而达到快速访问的目的。跳跃表在插入、删除和查找操作上的平均复杂度为O(logN),最坏为O(N),可以和红黑树相媲美,但是在实现起来,比红黑树简单很多。说起跳跃表,在前段时间面...
转载
博文更新于 2019.07.01 ·
289 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Redis源码剖析--字典dict

Redis源码剖析--字典dict dict数据结构哈希表节点(dictEntry)哈希表dictht字典dict字典类型函数dictType哈希算法rehash算法dict基本操作dict创建添加键值对查找键值对删除键值对字典删除dict小结 字典是Redis中的一个非常重要的底层数据结构,其应用相当广泛。Redi...
转载
博文更新于 2019.07.01 ·
344 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

浅析Linux下的task_struct结构体

本文的重点是剖析task_struct,在这之前我们需要先了解一下进程的概念和Linux下进程控制块PCB。1.首先什么是进程?1.1进程可以这样描述:1>进程是程序的一个执行实例;2>进程是正在执行的程序;3>进程是能分配处理器并由处理器执行的实体。按内核观点来谈进程:它担当分配系统资源(CPU时间,内存)的实体。1.2进程的两个基本元素一是程序代码(...
转载
博文更新于 2019.06.27 ·
332 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux 进程切换和线程切换的区别分析

HTTP long pollingLinux eventfd
转载
博文更新于 2019.06.27 ·
1837 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

Mark 一下专业名词

HTTP long pollingLinux eventfd
原创
博文更新于 2019.06.27 ·
246 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

recv 函数返回值说明

recv函数int recv( SOCKET s, char FAR *buf, int len, int flags);不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符; 第二个...
转载
博文更新于 2019.06.26 ·
559 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

多线程算法--归并排序

如下:#include <pthread.h>#include <iostream>#include <fstream>#include <string>#include <vector>#include <cstdlib>#include <typeinfo>#include <algori...
原创
博文更新于 2019.06.22 ·
949 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Redis源码剖析--双端链表sdlist

Redis源码剖析--双端链表sdlist sdlist的数据结构sdlist迭代器结构sdlist基本操作sdlist创建sdlist释放插入节点向头部插入节点向尾部添加节点向任意位置插入节点删除节点迭代器相关操作获取迭代器释放迭代器重置迭代器获取下一个迭代器链表复制函数查找函数链表旋转函数sdlist小结 ...
转载
博文更新于 2019.06.22 ·
758 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Redis源码剖析--动态字符串sds

Redis源码剖析--动态字符串sds sds数据结构定义sds基本操作函数sds创建函数sds释放函数sds动态调整函数sds连接操作函数sds其他操作函数sds小结 Redis没有使用C语言的字符串结构,而是自己设计了一个简单的动态字符串结构sds。它的特点是:可动态扩展内存、二进制安全和与传统的C语言字符串类型兼容。下面就从源...
转载
博文更新于 2019.06.22 ·
493 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多