QLExpress和Groovy对比

发布时间:2024年01月14日

原理

Groovy

  • groovy基于JVM运行。
    • 编译时:将源文件编译成class文件后,用java的classLoader加载;
    • 运行时:直接用groovy classLoader加载
      在这里插入图片描述

QLExpress

  • QLExpress将文本解析成AST,用java对象表达后执行。
    在这里插入图片描述

特点

Groovy

  • 优点
    • 兼容性强,上手成本低。和java基本无缝兼容,熟悉java的同学上手无压力。
    • 发展历史悠久。功能强大。
  • 缺点
    • 使用疏忽时容易产生一系列OOM问题。

QLExpress

  • 优点
    • 线程安全,引擎运算过程中的产生的临时变量都是threadlocal类型。
    • 高效执行,比较耗时的脚本编译过程可以缓存在本地机器,运行时的临时变量创建采用了缓冲池的技术,和groovy性能相当。
    • 弱类型脚本语言,和groovy,javascript语法类似,虽然比强类型脚本语言要慢一些,但是使业务的灵活度大大增强。
    • 安全控制,可以通过设置相关运行参数,预防死循环、高危系统api调用等情况。
    • 代码精简,依赖最小,250k的jar包适合所有java的运行环境,在android系统的低端pos机也得到广泛运用。
    • 扩展性强。可以导入jvm中的类,或者自定义扩展操作符。

例子

相关文档

文章来源:https://blog.csdn.net/qq_40369829/article/details/135585558
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。