Janino 2.7.8

许可: 免费 ‎文件大小: 1.05 MB
‎用户评分: 2.7/5 - ‎6 ‎评分

关于 Janino

Janino 是一个超小型、超快速的编译程序,可读取 Java 表达式、块或源文件,并生成直接加载和执行的 Java 字节码。它并不是一个开发工具,而是一个用于运行时编译的嵌入式编译器,例如表达式评估器或"服务器页面"和"JSP"等引擎。 性能 主要设计目标是保持编译器小而简单,同时部分牺牲完整性。我不喜欢为简单应用程序携带庞大的库的想法。有关已实现和缺少的语言功能的列表,请参阅 Parser。 何时需要高效的表达式评估器? 例如,您建立了一个电子商务系统,用于计算用户放入购物车中的项目的运费。因为您不知道商家的运输成本模型在实现时,你可以实现一组航运成本模型想到(平坦收费,按重量,按项目的数量,...),并选择其中之一在运行时。 在实践中,您肯定会发现您实现的运输成本模型很少与商家需要的价格相匹配,因此您必须添加特定于商家的自定义模型。如果商家的模型稍后发生更改,则必须更改代码、重新编译和重新分发软件。 由于这非常不灵活,因此应在运行时而不是编译时指定运输成本表达式。这意味着必须在运行时扫描、解析和计算表达式,这就是为什么您需要表达式评估器的原因。 简单的表达式评估器将分析表达式并创建"语法树"& quot;例如,表达式 "a = b = c"将编译为 "第一个操作数"的对象,而第二个操作数为参数 "Product"操作数为参数 "b"这样的语法树可以相对快速地评估。但是,运行时性能比本机 Java 代码差 100 倍。