暂无搜索历史
在前面章节中我们构建了NFA状态机,现在我们看看如何使用它来识别给定字符串是否合法。首先我们先构造如下正则表达式对应的NFA,在input文件的表达式部分输入...
在上一节我们实现了记录管理,本节我们看看记录的读取实现,也就是所谓的表扫描。我们将实现一个名为TableScan的类,它把表的记录当做数组来读取,通过挪到一个记...
在数据库中,数据以”记录“作为一个单元来存储,例如一个表的“一行”就对应一条记录。假设我们有一个表叫STUDENT,其中有name, age, sex, cla...
在编译器开发中有两个非常重要的工具名为lex和yacc,他们是编译器的生成器。本质上我们不需要一行行去完成编译器的代码,只需要借助这两个工具,同时制定好词法解析...
本节我们的目的是,在给定正则表达式后,将其转换为非确定性有限状态自动机数据结构,后者会进一步生成一个跳转表,从而实现字符串匹配的功能。我们首先看输入,输入是一个...
上节我们描述了正则表达式的规则,有过一些编程经验的同学或许都用过正则表达式功能,通常使用它来检验特定格式的字符串,例如检验输入的邮箱是否合法等。当然大多数时候我...
在上一节中我们实现了并发管理的核心组件那就是lock_table,它的原理是对给定的区块加锁,如果区块被读取,那么就加上共享锁,也就是多个线程能同时读取,但是不...
在前面章节,我们描述的并发控制的一些基本原理。其中一个重要原则就是“序列化”,也就数据库引擎要对交易提交的请求进行调度,调度的结果要使得每个交易就好像独占了引擎...
一个好的数据库,其特点必然是吞吐量高,也就是它能在高并发请求压力下保证数据的准确性和安全性,由此并发管理是不可或缺的一环。事实上并发管理是一个相当复杂的计算机科...
我们的简易编译器完成了一大部分,但还有一些关键的语法结构没有处理,那就是for, while, do..while等循环语句对应的中间代码还没有生成,本节我们就...
前面一节我们完成了用于实现系统恢复的日志,本节我们看看如何基于日志内容实现系统恢复。我们将设计一个系统恢复管理器,它在系统启动时读取日志内容,根据读到的日志对数...
前面几节我们完成了if语句以及判断条件成立时代码对应的中间代码生成,这次我们完成最后一笔,那就是针对else部分代码完成相应的中间代码生成。本质上这一步比较简单...
在面试算法题中,字符串是经常出现的类型。而字符串类型中回文出镜率相当高,在查找回文的问题中出现了一系列相当烧脑但却又精彩纷呈,非常值得研究和欣赏的算法,我们这次...
上一节我们完成了if条件判断语句的中间代码生成,我们看到针对if语句的生成代码,我们针对if 条件满足时所要执行的代码赋予了一个跳转标签,同时对if(){…} ...
高并发和异步模式往往需要支持一种机制,那就是消息模式。当某个情况发送或是某种状态改变时,系统需要通知所有关注者,让他们及时进行处理,于是系统就会发送一个特定消息...
Nodejs是一个高效的异步服务平台,因此非常适合于开发高并发的后台服务。要满足高并发,后台服务需要做到的是能够及时响应客户端发送过来的请求。这里要注意的是”响...
注意看L4, L5, L6三个地方的分支,中间代码有一个指令叫iffalse,后面跟着一个表达式,如果表达式结果能转换为false,那么goto语句就产生作用,...
最近因为项目需要使用nodejs,因此不得不对其进行学习研究。一番深入后发现,nodejs除了好用,作为后台效率非常高之外,它自身的设计堪称精妙。我们都知道学习...
数据库系统有一个极其重要的功能,那就是要保持数据一致性。在用户往数据库写入数据后,如果数据库返回写入成功,那么数据就必须永久性的保存在磁盘上。此外作为一个系统,...
暂未填写公司和职称
暂未填写个人简介
暂未填写学校和专业
暂未填写个人网址
暂未填写所在城市
扫码关注腾讯云开发者
领取腾讯云代金券