package curveJudge

import groovy.text.SimpleTemplateEngine

/**
* Created by Jxy on 2019/8/26 17:16
*
*/
class EngineTest {
static void main(String[] args) {
def shell = new GroovyShell()
def engine = new SimpleTemplateEngine()
def map = [
'eg1' : 1,
'eg2' : 1,
'eg3' : 1,
'eg5' : 1,
'eg6' : 1,
'eg7' : 1,
'eg8' : 1,
'eg9' : 1,
'eg10': 1,
'eg11': 1,
'eg12': 1,
'eg14': 1,
'eg13': 1,
'eg15': 1,
'eg16': 1,
'eg17': 1,
'eg18': 1,
'eg19': 1,
'eg20': 1,
'eg21': 1,
'eg22': 1,
'eg23': 1,
'eg24': 1,
'eg25': 1,
'eg26': 1,
'eg27': 1,
'eg28': 1,
'eg29': 1,
'eg30': 1,
'eg31': 1,
'eg32': 1,
'eg33': 1,
'eg34': 1,
'eg35': 1,
'eg36': 1,
'eg37': 1,
'eg38': 1,
'eg39': 1,
'eg40': 1,
'eg41': 1,
'eg42': 1,
'eg43': 1,
'eg44': 1,
'eg45': 1,
]
def a = System.currentTimeMillis()
String str = '($eg1+$eg10)*6'
def string1 = engine.createTemplate(str).make(map).toString()
println "执行结果:${-> shell.evaluate(string1)}"
def b = System.currentTimeMillis()
println "---->执行 1 次需要毫秒数: ${b - a}" def str1
for (int i in 1..10) {
str1 = '($eg44+$eg3)*2'
def string2 = engine.createTemplate(str1).make(map).toString()
println "${i}执行结果:${-> shell.evaluate(string2)}"
}
def c = System.currentTimeMillis()
println "执行 10 次需要毫秒数: ${c - b}" String str2 = '($eg1+$eg10)*6'
def string3 = engine.createTemplate(str2).make(map).toString()
println "执行结果:${-> shell.evaluate(string3)}"
def d = System.currentTimeMillis()
println "---->在执行 1 次需要毫秒数: ${d - c}" def str3
for (int i in 1..100) {
str3 = '($eg44+$eg3)*2'
def string4 = engine.createTemplate(str3).make(map).toString()
println "${i}执行结果:${-> shell.evaluate(string4)}"
}
def e = System.currentTimeMillis()
println "执行 100 次需要毫秒数: ${e - d}" }
}

Groovy--使用模板引擎和GroovyShell执行插值字符串的更多相关文章

  1. PHP模板引擎正则替换函数 preg_replace 与 preg_replace_callback 使用总结

    在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换). 详情介绍参考博文:P ...

  2. 简易js模板引擎

    前面 js 模板引擎有很多很多,我以前经常用 art-template ,有时候也会拿 vue 来当模板引擎用. 直到...... 年初的时候,我还在上个项目组,那时候代码规范是未经允许不能使用 [外 ...

  3. PHP的模板引擎smarty原理是什么(整理)

    PHP的模板引擎smarty原理是什么(整理) 一.总结 一句话总结:其实所有的模板引擎的工作原理是差不多的,无非就是在php程序里面用正则匹配将模板里面的标签替换为php代码从而将两者混合为一个ph ...

  4. Ajax概述,封装以及联合模板引擎进行数据交互

    欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树Sankey 更多资料可参考Ajax 介绍 ...

  5. Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化

    模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则 ...

  6. php模板引擎

    http://baike.baidu.com/link?url=HmXfdJBv3zpCdnZPeaSmZmqDBHlyTBnz9Rmb5it-jf1_NLHfaku6_i8ssUYbnaTQEBD4 ...

  7. doT.js模板引擎及基础原理

    时至今日,基于后端JavaScript(Node.js)和MVC思想也开始流行起来.模板引擎是数据和页面分离工作中最重要的一环,在各大门户网站均有利用到模板引擎. 模板引擎有很多种,但是原理了解也是非 ...

  8. java开源模板引擎

      Velocity  Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义 ...

  9. Spring Boot☞ 使用Thymeleaf模板引擎渲染web视图

    静态资源访问 在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置 Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /s ...

随机推荐

  1. springboot 静态资源访问,和文件上传 ,以及路径问题

    springboot 静态资源访问: 这是springboot 默认的静态资源访问路径  访问顺序依次从前到后(http://localhost:8080/bb.jpg) spring.resourc ...

  2. leetcode1283 使结果不超过阈值的最小除数

    这道题第一思路是用二分查找 因为使用二分法:所以复杂度为O(n*logk), k介于 left=sum/threshold(向下取整) 和 right=num_max之间:而right<=10^ ...

  3. 快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题

    快速解决设置Android 23.0以上版本对SD卡的读写权限无效的问题 转 https://www.jb51.net/article/144939.htm 今天小编就为大家分享一篇快速解决设置And ...

  4. easuUI之datebox日期选择框

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  5. backupAgent节点

    在<application>节点中有一个非常重要的属性,那就是backupAgent. 1.backupAgent简介 Androidd:backupAgent用来设置备份代理.对于大部分 ...

  6. springboot2.0+redis实现消息队列+redis做缓存+mysql

    本博客仅供参考,本人实现没有问题. 1.环境 先安装redis.mysql 2.springboot2.0的项目搭建(请自行完成),本人是maven项目,因此只需配置,获取相应的jar包,配置贴出. ...

  7. 系统调用与内存管理(sbrk、brk、mmap、munmap)(转)

    一.系统调用(System Call):在Linux中,4G内存可分为两部分——内核空间1G(3~4G)与用户空间3G(0~3G),我们通常写的C代码都是在对用户空间即0~3G的内存进行操作.而且,用 ...

  8. openstack部署glance

    一.建立glance数据库并且给权限设置第三方登录 mysql -uroot -p0330 CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance ...

  9. MFS分布式文件系统

    一.MFS概述: MooseFS(moose 驼鹿)是一款网络分布式文件系统.它把数据分散在多台服务器上,但对于用户来讲,看到的只是一个源.MFS也像其他类unix文件系统一样,包含了层级结构(目录树 ...

  10. 一些常用的java书籍的适看范围

    一些常用的java书籍的适看范围 Java三本经典的书: 1.Java核心技术书籍:适合查阅,遇到某个问题不清楚了,可以来此求证. 2.Effective  Java:对java底层的一些涉及内容,书 ...