ABAP 里的 JIT 与 AOT,真正对应的是程序生成、ABAP Load 与局部运行时编译 结论先摆在桌面上ABAP 有一套和 AOT 很相似的程序生成机制,也存在少量由运行时内部使用的 JIT 技术,但不能直接说 ABAP 像 Java、.NET 或现代 JavaScript 引擎那样,完整提供了通用的 JIT 与 AOT 双模式。更精确的判断是,ABAP 源代码在激活或生成时会被 ABAP Compiler 转换成平台无关的 byte code,并保存为 ABAP Load。程序执行时,ABAP Load 被装入应用服务器的 Program Buffer,也就是 PXA,再由 ABAP Runtime Environment 解释执行。SAP 官方文档把 ABAP Runtime Environment 描述为一种虚拟机,它负责执行这种平台无关的 byte code。(SAP Help Portal)因此,ABAP 的常规执行模型可以概括成下面这条链路。ABAP 源代码 → 激活或生成 → 平台无关的 byte code → ABAP Load → PXA → ABAP Runtime Environment 执行这里的激活和程序生成很像 AOT,因为执行前已经完成了语法分析、类型检查、依赖解析