Lua设计与实现--读书笔记】的更多相关文章

目录 lua简介 一种通用的数据类型:lua_TValue 字符串 Table lua实现一个队列 lua简介 C++底层核心模块,暴露核心接口给lua脚本层,网络的收发都在c++层完成,本书简述lua解释器的实现原理,工业级脚本语言 特性:简洁高效可移植可嵌入可扩展 纯C编写 Lua的数据结构.Lua虚拟机.Lua的其他内容 我缺少的知识:词法分析.语法分析.递归下降分析.BNF规则 Lua代码是解释成lua虚拟机能识别的字节码而运行的 翻译成字节码 字节码装载到虚拟机执行 Lua是有宿主系统…
Linux内核设计与实现  读书笔记: http://www.cnblogs.com/wang_yb/tag/linux-kernel/ <深入理解LINUX内存管理> http://blog.csdn.net/yrj/article/category/718110 Linux内存管理和性能学习笔记(一) :内存测量与堆内存  第一篇 内存的测量 2.1. 系统当前可用内存 # cat /proc/meminfoMemTotal:        8063544 kBMemFree:      …
先占坑 老实说看这本书的时候,有很多地方都很迷糊,但却说不清楚问题到底在哪里,只能和Effective C++联系起来,更深层次的东西就想不到了. 链接: https://blog.csdn.net/cloudqiu/article/details/55060108 C++语言的设计与演化推荐 https://blog.csdn.net/csdnnews/article/details/79777598 语言发展历史 https://blog.csdn.net/weiwenhp/article/…
前言 项目里用到了redis数据结构,不想只是简单的调用api,这里对我的读书笔记做一下记录.原文地址: http://www.redisbook.com/en/latest/internal-datastruct/sds.html 数据类型定义 与sds实现有关的数据类型有两个,一个是 sds: // 字符串类型的别名 typedef char *sds; 另一个是 sdshdr: // 持有sds的结构 struct sdshdr { // buf中已经被使用的字符串空间数量 int len…
链表作为最基础的数据结构,在许多高级语言上已经有了很好的实现.由于redis采用C语言编写,需要自己实现链表,于是redis在adlist.h定义了链表类型.作者对于这部分没什么好说,源码比较简单,如果这方面没有接触过的话,作者也耐心地推荐了几本书供参考.为了提高效率,这里的链表指的是双向链表,使得某一个元素访问它的前驱与后继的时间复杂度均为O(1). 不多说,进入正题,首先可以看到节点的数据结构的代码如下: typedef struct listNode { struct listNode *…
作为redis最基础的底层数据结构之一,SDS提供了许多C风格字符串所不具备的功能,为之后redis内存管理提供了许多方便.它们分别是: 二进制安全 减少字符串长度获取时间复杂度 杜绝字符串溢出 减少内存分配次数 兼容部分C语言函数 下面将简要阐述SDS基础结构,并介绍这些功能相应的实现细节. SDS字符类型定义非常简单,以redis3.0.7为例: typedef char *sds; struct sdshdr { unsigned int len; //定义当前字符串长度(不包含'\0')…
1 Redis 是C语言实现的 2 C字符串是 /0 结束的字符数组 3 Redis具体的动态字符串实现 /* * 保存字符串对象的结构 */ struct sdshdr { // buf 中已占用空间的长度 使求字符串长度操作变成0(1) int len; // buf 中剩余可用空间的长度 对字符串字符增加修改时 不大于len+free不用重新分配内存(初始化一个字符串时free为0 当修改字符串时会对free进行赋值) int free; // 数据空间 char buf[]; }; sd…
  简介 作者Steve Krug,惯例先去了解一下本书的作者,发现书中介绍的并不多,百度一下后发现这本书比作者出名.好吧,百度就是这样子,作者自称web可用性咨询师,手上这本书是第三版再版,第一版2000年出版,2013年出版第三版,最大的变化大概是综合啦,原来凉拌是网站的可用性,这次是web和mobile.作者书中说,互联网时代,13年就像100年那么久,想想我们的cpu和手机这3年的更替,何况现在都16年啦.我想这本书之所以称为互联网必读书之一大概是因为它定义啦许多“本该如此”的原则问题,…
第三章 进程管理 1. fork系统调用从内核返回两次: 一次返回到子进程,一次返回到父进程 2. task_struct结构是用slab分配器分配的,2.6以前的是放在内核栈的栈底的:所有进程的task_struct连在一起组成了一个双向链表 3. 2.6内核的内核栈底放的是thread_info结构,其中有指向task_struct的指针: 4. current宏可以找到当前进程的task_struct:X86是通过先找到thread_info结构,而PPC是有专门的寄存器存当前task_s…
第一章 目标导向设计 当今数字产品的创造过程 市场营销人员对于产品设计过程的贡献,通常局限于需求列表这些需求同用户的实际需要与期望无关,主要在于追赶竞争对手,按照任务清单管理IT资源,以及基于市场调查结果进行猜测,让顾客报告自己想买什么?与猜测正好相反,极少有人能够清楚地表述自己的需要,直接询问产品的使用感受多数人倾向于关注次要的功能,以及解决产品缺陷的小窍门. 优秀的开发人员着眼于解决技术难题,遵从适当的工程实践准则按时完成任务,但是他们收到的只是往往有所纰漏,令人费解,有时甚至前后矛盾,他们…