
ANTLR 解析性能优化指南
本文翻译自 Improving the performance of an ANTLR parser,主要介绍了 Antlr 解析性能优化相关的经验,文中也增加了笔者个人的理解,期望对广大 Antlr 用户有所帮助。 前言 很多人问我们如何提高解析器的性能,有时解析器是用一些旧库完成的,有时解析器是用 ANTLR 创建的。在本文中,我们提供了一些关于提高 ANTLR 解析器性能的建议。...
本文翻译自 Improving the performance of an ANTLR parser,主要介绍了 Antlr 解析性能优化相关的经验,文中也增加了笔者个人的理解,期望对广大 Antlr 用户有所帮助。 前言 很多人问我们如何提高解析器的性能,有时解析器是用一些旧库完成的,有时解析器是用 ANTLR 创建的。在本文中,我们提供了一些关于提高 ANTLR 解析器性能的建议。...
前言 本文整理了 Java 虚拟机指令操作码和助记符之间的映射关系,可以用于日常学习 Java 字节码时快速查阅。需要注意的是,操作码 186 对应的 invokedynamic 指令是 JDK 7 版本新增的指令,在 JDK 7 之前的版本没有该指令。 常量 Constants 字节码(十进制) 字节码(十六进制) 助记符 指令含义 00 0x00 nop 无操作 0...
注意:本文基于 Calcite 1.35.0 版本源码进行学习研究,其他版本可能会存在实现逻辑差异,对源码感兴趣的读者请注意版本选择。 前言 在上一篇 Apache Calcite System Catalog 实现探究中,我们介绍了经典的数据库处理流程,包括:SQL 解析、SQL 绑定、SQL 优化以及计划执行。SQL 绑定主要的作用是将 SQL 解析生成的 AST 和数据库的元数据...
前言 TODO 什么是分布式事务 基本定义 使用场景 随着互联网、金融等行业的快速发展,业务越来越复杂,一个完整的业务往往需要调用多个子业务或服务,随着业务的不断增多,涉及的服务及数据也越来越多越来越复杂。传统的系统难以支撑,出现了应用和数据库等的分布式系统。分布式系统又带来了数据一致性的问题,从而产生了分布式事务。 如何实现分布式事务 基于第一个强一致的思路,就有了基于数据库本...