成长录-知行合一


  • 首页

  • 标签

  • 分类

  • 归档

  • 书籍

  • 关于

  • 公益404

  • 搜索

Linux下so动态链接库使用总结

发表于 2018-06-13 | 分类于 Linux |
字数统计: 2,790 字 | 阅读时长 ≈ 10 分钟
本文主要总结在Linux环境下,使用so动态链接库经常遇到的问题,包括使用cp命令覆盖so导致进程coredump之类的问题。主要有以下内容: Linux下so动态链接库介绍 ldconfig命令的使用 so动态库使用的常见问题 一、Linux下so动态链接库介绍在介绍动态库前,提一个问题:到底什么是库呢? 库从本质上来说是一种可执行代码的二进制格式,可以被载入内存中执行。库分静态库和动态库 ...
阅读全文 »

Redis源码阅读--压缩列表

发表于 2018-06-06 | 分类于 Redis |
字数统计: 1,852 字 | 阅读时长 ≈ 8 分钟
压缩列表(ziplist) Redis中的压缩列表实现及特点 Redis中的压缩列表源码难点分析 Redis中的压缩列表源码部分节选 一、Redis中的压缩列表实现及特点压缩列表是 Redis 为了节约内存而开发的, 由一系列特殊编码的连续内存块组成的顺序型(sequential)数据结构。 一个压缩列表可以包含任意多个节点(entry), 每个节点可以保存一个字节数组或者一个整数值。如下图 ...
阅读全文 »

Redis源码阅读--整数集合

发表于 2018-06-05 | 分类于 Redis |
字数统计: 2,146 字 | 阅读时长 ≈ 10 分钟
整数集合(intset)是集合键的底层实现之一,当一个集合只包含整数值元素, 并且这个集合的元素数量不多时, Redis就会使用整数集合作为集合键的底层实现。本文主要介绍Redis源码中的整数数组。主要内容如下: Redis中的整数集合实现及特点 Redis中的整数集合源码难点分析 Redis中的整数集合源码部分节选 Redis中的整数集合实现及特点整数集合的具体实现在头文件intset.h ...
阅读全文 »

如何防止业务进程被OOM kill

发表于 2018-06-04 | 分类于 Linux |
字数统计: 647 字 | 阅读时长 ≈ 2 分钟
OOM Killer 的全称叫 Out Of Memory Killer。本文主要介绍: Out-Of-Memory killer 如何防止业务进程被OOM kill Linux shell特殊变量含义 Out-Of-Memory killerLinux 内核有个机制叫OOM killer(Out-Of-Memory killer),该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的 ...
阅读全文 »

Redis源码阅读--跳跃表

发表于 2018-06-03 | 分类于 Redis |
字数统计: 4,479 字 | 阅读时长 ≈ 22 分钟
本文主要介绍如下内容: 跳跃表介绍 Redis中的跳跃表实现及特点 Redis中的跳跃表源码难点分析 Redis中的跳跃表源码部分节选 跳跃表介绍跳跃表是一种随机化数据结构,基于并联的链表,其效率可以比拟平衡二叉树,查找、删除、插入等操作都可以在对数期望时间内完成,对比平衡树,跳跃表的实现要简单直观很多。 以下是一个跳跃表的例图(来自维基百科):从图中可以看出跳跃表主要有以下几个部分构成: ...
阅读全文 »

Linux配置NTP时间服务器

发表于 2018-05-30 | 分类于 Linux |
字数统计: 1,259 字 | 阅读时长 ≈ 5 分钟
NTP即Network Time Protocol,是用来同步网络中各个计算机的时间的协议。该协议本身是个挺复杂的协议,但是设置NTP服务器不难。本文主要介绍: 背景(即为什么要设置NTP时间服务器) 配置NTP时间服务器端 配置NTP client端 背景为什么要设置NTP时间服务器?在日常开发工作中,经常都需要定位多个服务器上的问题,由于是集群环境,经常出现一个问题是:各个服务器上时间不 ...
阅读全文 »

Redis源码阅读--字典

发表于 2018-05-27 | 分类于 Redis |
字数统计: 5,506 字 | 阅读时长 ≈ 29 分钟
字典被广泛应用于实现Redis的各种功能,其中包括数据库和哈希键。字典,又称符号表(symbol table)、关联数组(associative array)或者映射(map),是一种用来保存键值对(key-value pair)的抽象数据结构。本文主要介绍如下内容: Redis字典的实现及特点 Redis字典源码难点分析 Redis字典源码部分节选 Redis字典的实现及特点Redis的数 ...
阅读全文 »

Redis源码阅读--双向链表

发表于 2018-05-24 | 分类于 Redis |
字数统计: 2,273 字 | 阅读时长 ≈ 13 分钟
Redis的双向链表基本实现在源码adlist.h和adlist.c中,非常简洁经典,值得一读,很多实现都是链表常见的且非常经典的实现方式,在我们写代码的时候也值得借鉴。本文主要介绍如下内容: Redis双向链表的实现及特点 Redis双向链表源码展示 Redis双向链表的实现及特点Redis双向链表实现的基本数据结构如下123456typedef struct listNode { ...
阅读全文 »

Redis源码阅读--简单动态字符串SDS

发表于 2018-05-20 | 分类于 Redis |
字数统计: 2,284 字 | 阅读时长 ≈ 11 分钟
从5.20开始开一个新坑,嗯,520是个好的开始呢。“Redis源码阅读”主要解读阅读Redis源码的理解,阅读的源码版本不是最新的,慢慢来 手动斜眼笑<-_<- 本文主要介绍如下内容: 简单动态字符串SDS SDS的优点 SDS API sds.c部分函数节选 简单动态字符串SDSRedis中使用了一个叫SDS(simple dynamic string)的字符串,其关键定义如 ...
阅读全文 »

strace命令用法介绍

发表于 2018-05-18 | 分类于 Linux |
字数统计: 3,110 字 | 阅读时长 ≈ 12 分钟
strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间,strace命令能够显示所有在程序中使用的系统调用。 本文主要介绍如下内容: strace ...
阅读全文 »
<i class="fa fa-angle-left"></i>1…8910…12<i class="fa fa-angle-right"></i>

115 日志
23 分类
129 标签
GitHub E-Mail
© 2016 — 2026 ahnselina
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.4
访问人数 总访问量 次