一直很喜欢脚本语言,但是一直在不大的公司工作,用得一直是“高大上”的JAVA语言,在真正的项目中,没什么机会用到脚本语言。这两年,又断断续续的用了2年的Ruby,再回头继续用JAVA,说实话,真感觉JAVA语法的啰嗦——哪怕像C#那样多些语法糖也好。虽然在JVM上也有像JRuby,scala那样的动态语言,不知道怎么的,就是不想去用,直到最近心血来潮看了一下Groovy,突然被吸引住了,原因,一开始估计是被他的全兼容JAVA语法所吸引,再慢...
Groovy 详细介绍Groovy 是一种基于 JVM 的敏捷开发语言,它结合了 Python、Ruby 和 Smalltalk 的许多强大的特性。Groovy 主要的特点包括:是一个基于Java 虚拟机的敏捷动态语言。构建在强大的 Java 语言之上 并添加了从 Python、Ruby 和 Smalltalk 等语言中学到的诸多特征。为 Java 开发者提供了现代最流行的编程语言特性,而且学习成本很低(几乎为零)。支持 DSL(Domain Specific Languages 领域定义语言)和其它简洁的语法,让...
下面这些包默认已经被导入了,不需要使用import再次显式导入:java.io.*java.lang.*java.math.BigDecimaljava.math.BigIntegerjava.net.*java.util.*groovy.lang.*groovy.util.*Groovy的运行时方法调用抉择运行时,Groovy根据参数类型决定具体哪一个方法被执行。而Java恰恰相反,被调用的方法根据参数类型,在编译期间就已经定下来了。In Groovy, the methods which will be invoked are chosen at runtime. This is called runtim...
1、安装eclipse插件启动eclipse,点击help -> Install New Software...在弹出的窗口中点击:Add...Groovy插件的地址:http://dist.springsource.org/release/GRECLIPSE/e4.4/其他eclipse版本可以到:https://github.com/groovy/groovy-eclipse/wiki下载对应的版本 在弹出的Install窗口中填写如下: Name:可任意填写名称,如:Groovy plugin Location:将上面的地址复制到这里,如:http://dist.springsource.org/...
spackage com.iteye.lindows.mysql/**
* @author Lindows
*
*/
class TestGroovy { static main(args) { def var = "HelloWorld"
println "${var},${var.class}"
println "================"
var = true
println "${var}"
}
}end原文:http://lindows.blog.51cto.com/426871/1941002
s C:\Users\Lindows\workspace\GroovyTest\src\com\iteye\lindows\mysql\TestRunnerInsertMysqlMore.groovy 1package com.iteye.lindows.mysql2 3import junit.framework.Assert4import net.grinder.script.GTest5import net.grinder.scriptengine.groovy.junit.GrinderRunner6import net.grinder.scriptengine.groovy.junit.annotation.AfterThread7import net.grinder.scriptengine.groovy.junit.annotation.BeforeProcess8impor...
atitit groovy 总结java 提升效率 #---环境配置 1#------安装麻烦的 2三、创建groovy项目 23、 加入? Groovy 类 24、 编译执行groovy类 3Groovy断点调试不生效的解决 4Groovy实现执行原理 51. Groovy脚本的执行.. 52. Groovy类的执行.. 5Groovy语法长处: 63. 动态类型def 64. 循环变量不须要def 65. String 和Gstring 66. 范围 67. 默认參数值 78. 集合简化操作 79. 闭包(Closure) 810. Groovy类map构造函数 911. (5) 不须...
上一篇:Groovy中那些神奇注解之ToString写完ToString,本来想今天就写到这了,突然觉得InheritConstructors注解实在也是个神器,写起来也没多少字,还是写了吧。InheritConstructors,从名字看就知道是继承构造函数(这话貌似我每篇都说,不得不说人家名字取得好),不知道大家有没有这样的经历,继承JAVA的Exception的时候,为了能和Exception原本的构造函数对应起来,会写上很多个构造函数,而函数的实现,往往就是super(...),...
前几天将09年写的一个Asp程序使用Grails改造重写,在处理手机号码Split的时候,Asp代码:dim phoneArr
phoneArr = split(phones,"|")照搬原来的分割处理,改成Groovy代码如下:String[] phoneArr = phones.split("|")但是返回的记过竟然是:[, 1, 3, 5, 5, 3, 0, 0, 9, 9, 9, 0, |, 1, 3, 5, 0, 0, 4, 3, 2, 3, 1, 1]最后才发现Groovy split是带正则表达式的,而|符号是正则表达式的特殊字符,最后改成如下即可:String[] phoneArr...
这个是由一个线上问题导致的:背景: 应用中内嵌了groovy引擎,会动态执行传入的表达式并返回执行结果 线上问题:发现机器的fullGC从某个时候开始暴涨,并且一直持续;登到机器上,用jstat -gcutil 命令观察,发现perm区一直是100%,fullGC无法回收;将这台机器的内存dump出来进行分析;在类视图中,发现大量的groovy.lang.GroovyClassLoader$InnerLoader;在类加载器视图里面也看到大量的groovy的InnerLoader;基本上可以定位问题在...
首先,用?http://groovyconsole.appspot.com/?测试下面的代码,发现引用总是失败.下载了GGTS:?https://spring.io/tools/ggts测试成功:?@Grapes( @Grab(group=‘org.ccil.cowan.tagsoup‘, module=‘tagsoup‘, version=‘1.2‘) )import org.ccil.cowan.tagsoup.Parser;class TestHtml {public static void main(String[] args){ String ENCODING = "UTF-8" def PARSER = new XmlSlurper(new Parser() )def url = "http://www.nf...
Groovydef task = {println "Hello from source code-Task"}
task()def task2 = {println "Hello from source code-Task2"}class B {String getName(){return "Young"}
}println new B().getName();task2();
结果Hello from source code-Task
Young
Hello from source code-Task2
Groovy默认是不为这个script写class文件的,但是我们可以通过配置文件或者直接修改原码, conf.setTargetDirectory指定class的存放路径这里生成四个clas...
一、下载gvmtoolcurl -s get.gvmtool.net | bash命令运行后提示最后几句如下:Please open a new terminal, or run the following in the existing one:source "/Users/zz/.gvm/bin/gvm-init.sh"Then issue the following command: gvm helpEnjoy!!!二、初始化gvmtool运行环境source "/Users/zz/.gvm/bin/gvm-init.sh"三、安装groovygvm install groovy四、安装grailsgvm install grails安装后的groovy、grails文件位置为: ...
package curveJudgeimport groovy.text.SimpleTemplateEngine/*** Created by Jxy on 2019/8/26 17:16**/class EngineTest {staticvoid 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,‘eg1...
hello.groovyimport groovy.lang.ClosureClosure clos = { println "Hello closure"}
println "delegate:" + clos.delegate.class.name;
println "owner: " + clos.owner.class.name;clos.call();println "==============================="class C {Closure clos = {println this.class.nameprintln "delegate:" + delegate.class.name;println "owner: " + owner.class.name; def nestClos = {println "in nest delegate:" + del...