• 关于

    Groovy

    的搜索结果

问题

groovy和java对比有什么不同?

蛮大人123 2019-12-01 20:02:00 1037 浏览量 回答数 1

问题

Groovy+JavaFX程序,Gradle无法编译,但在IDE可以直接运行?报错

爱吃鱼的程序员 2020-06-14 19:05:54 0 浏览量 回答数 1

回答

Scala 和 Groovy 都是基于 JVM 的语言,相比 Java 都有更加简明的语法和丰富的表达能力。对于那些既想不脱离开 JVM 又想避免 Java 繁琐的语句的开发人员来说,Scala 和 Groovy 都是不错的选择。可是选择哪一个才能在未来发展过程中取得先机呢?哪一个是未来发展的方向呢?这些都是困扰开发者的难题。去年早些时候,一篇名为“Scala,Groovy 的杀手? ”的博客对 Scala 和 Groovy 进行了对比:Scala 和 Groovy 之间的核心区别在于前者是静态类型的。有些人可能争辩说这使得达到脚本化目标变得更加复杂了,而脚本化正是 Groovy 的动机。然而,Scala 有完整的体系特征,这使 Groovy 看上去更像个玩具。比如,Scala 有“sequence comprehensions”。该要素导致对算法的表述非常紧凑和强大。Scala 还有更多被证明是非常有用的特性,如嵌套类,currying 和代数类型模式匹配。它还支持类似于 JDK1.5 所增加的泛型和注解。这些还都只是冰山一角。之后,Derek Young 撰文“Scala 对比 Groovy:静态类型是性能的关键”。在文中他举了一个实际的例子,试图说明针对同样的算法,Scala 的性能远高于 Groovy。然而,Scala 并不是尽善尽美的,它也有一些明显的缺陷。Rick Hightower 在最近发表的一篇博客中,尖锐地批评了 Scala 的语法问题:Scala 并不是更好的选择。在阅读了 Scala 的文档之后,我的想法是:虽然这种语言的特性听起来挺好,但是语法却让我想放弃。为什么事情非要为了不同而不同?Scala 让 Groovy 看起来比以前更加美味可口。憎恨是个很强烈的词。我恨 Scala 的语法。请不要再推进这种语法了。……Scala 有好的思想吗?有。借用过来就行了……总而言之,Scala 看起来像下一个被过度宣传的语言。只需要把其精华引入到 Groovy 中,然后扔掉那些糟糕的语法。我最喜欢的 Scala 特性是推理类型和强类型。C#3.0 也有这些。(我不用 C#,不见得我不喜欢它的一些特性。)Rick Hightower 还建议 Sun 应该在 Groovy 上进行投资,而不是对 JRuby 作无谓的投资。Groovy 更像 Java,更容易上手,语法也让开发者不反感。为什么 Sun 在 JRuby 上投那么多钱呢?投资应该给 Groovy。这样了解 Java 的开发者可以更快地学习 Groovy,而且如果有工具支持他们,那么就更可能这样做。为了说明 Sun 投资在 Ruby 上的不明智,Rick Hightower 还引用了一幅统计图表来说明企业采用 Ruby 的趋势还是比较低的:另外,无论是 Ruby、Scala 还是 Groovy 都有对应的 Web 框架,且对应的框架都是用各自对应的语言编写的。这些框架分别是 Rails、Lift 和 Grails。尽管 Lift 和 Grails 中的许多东西都从 Rails 借鉴来的,但是 Grails 对其他已有 Java 技术框架进行了很好的继承,这无疑会保护用户或厂商在这方面的已有投资。Grails 框架参考文档中这样描述:Grails 构建在这些概念之上,并且显著地减少了在 Java 平台上构建 Web 应用的复杂程度。不同的是,这些是建立在已确立的如 Spring 和 Hibernate 这样的 Java 技术之上的。目前,Scala 和 Groovy 两种语言都在快速发展的过程中。就目前的情况来看,Groovy 的优势在于易用性以及与 Java 无缝衔接,Scala 的优势在于性能和一些高级特性,如果在发展过程中两者能互相借鉴对方的优点来充实自身,对开发者来讲无疑是福音。正如第一篇所引用的博客作者最后提到的那样:大家并不想看到一场殊死斗争,而是想看到更注重实效思想的 Groovy 团队能与更具有学术思想的 Scala 团队一起合作,制作出一门既强大又易用的语言。你会将赌注押在谁身上呢?

孟志昂 2019-12-02 01:44:17 0 浏览量 回答数 0

阿里云试用中心,为您提供0门槛上云实践机会!

0元试用32+款产品,最高免费12个月!拨打95187-1,咨询专业上云建议!

回答

Groovy比起Java更简洁 开发效率更高元编程的特性可能会让Groovy性能有所损失(10%左右)区别:http://www.groovy-lang.org/differences.html

蛮大人123 2019-12-02 01:53:31 0 浏览量 回答数 0

问题

在阿里巴巴,grails被用于哪些项目?

godofwww 2019-12-01 20:05:07 1724 浏览量 回答数 2

问题

怎么避免多个 session 同时操作 Collection ???

爵霸 2019-12-01 20:04:02 1426 浏览量 回答数 1

问题

关于groovy的变量与常量运算结果的问题?报错

爱吃鱼的程序员 2020-06-14 22:08:03 0 浏览量 回答数 1

问题

Grails 中导入Excel报错?报错

爱吃鱼的程序员 2020-06-15 19:32:03 0 浏览量 回答数 1

问题

关于gradle语法问题

蛮大人123 2019-12-01 20:08:28 1069 浏览量 回答数 1

问题

有关于ORM的一个问题

爵霸 2019-12-01 20:06:35 853 浏览量 回答数 1

问题

使用excel插件的时候报错,import org.codehaus.groov?报错

爱吃鱼的程序员 2020-06-22 11:08:35 0 浏览量 回答数 1

问题

Kotlin 处于早期大众阶段,Scala 和 Groovy 处于晚期大众阶段

游客pklijor6gytpx 2019-12-01 21:54:56 17 浏览量 回答数 1

回答

应该是print((p-q+10)*20) 函数有参数的时候,省略括号的前提是没有歧义,你的代码Groovy会解释为(print(p-q+10))*20,因为Groovy里所有语句都有返回值,print的返回值是null,所以出现NullPointerException。回复 @mononite:理解了,非常感谢你耐心的回答回复 @xy19940331:是语法有没有歧义的事,在有参数的时候,Groovy函数调用省略括号的前提是没有歧义,print10和print(10)是相同的,但print(10)*5可能解释为你认为的print(10*5),也可以解释为(print(10))*5,这里是有歧义的,这种情况下,省略括号很可能会出现意料外的结果。意思就是groovy代码执行顺序是从前往后执行的吗?*号应该有运算优先级的,怎么会先解释print语句呢?

爱吃鱼的程序员 2020-06-14 22:08:21 0 浏览量 回答数 0

回答

1.使用properties文件管理属性。<propertyfile=''/> 可以是相对路径,也可以是绝对路径  也可以 <propertyresource=''/> 这个地方使用的是在classpath上寻找属性文件 2.使用eclipse通过tomcat运行web项目的时候,确实是默认输出到bin下。。。。这是相对于运行的目录啊 3.关于分割文件的三个参数,也是可以通过属性配置的。。。。。。   再仔细检查下吧。。。。 附上官方文档:  https://logback.qos.ch/manual/configuration.html#definingProps这两种方式都用相对路径都找不到绝对路径没有尝试 如果你期望非常灵活的logback配置,强推logback的groovyDSL,通过groovy代码,想怎么定义怎么定义,全放环境变量都没问题,比如dgate使用的logbackgroovyDSL配置:https://github.com/DTeam-Top/dgate/blob/master/src/main/resources/logback.groovy 利用groovy代码配置logback属性,非常灵活,也非常简单方便。不过需要在项目依赖中引入groovy的jar包

爱吃鱼的程序员 2020-06-07 22:26:38 0 浏览量 回答数 0

回答

构建工具,想要替代maven。我用的感觉最大的缺点是速度太慢,即使开了daemon模式,还是没maven快。groovy写的,大概因为spring自己就做groovy,所以格外重视吧。hibernate从maven转到gradle了sts有gradle插件

爵霸 2019-12-02 02:44:28 0 浏览量 回答数 0

问题

windows7+Emacs23+java如何配置开发环境?Java报错

python小菜菜 2020-06-02 13:25:41 6 浏览量 回答数 1

回答

你没仔细看groovy的语法,是可以不写get的,像属性一样引用get方法回复<aclass='referer'target='_blank'>@唐代豆腐超贵:一直看的官方文档,以及官方文档中推荐的几本书回复<aclass='referer'target='_blank'>@Feng_Yu:你有groovy文档不大哥。回复<aclass='referer'target='_blank'>@唐代豆腐超贵:浓浓的java即视感,groovy语法没这么繁琐,而且def这么定义不科学啊,还不如用闭包。get这里返回空指针了,你应该检查下引用。什么意思?既然用了spring了,可以考虑直接用grails啊Grails3.0已经是不再是一个单独的框架了,基于Gradle构建,核心的组件GORM也可以在其他Spring程序中使用。不想用呢。。太多东西了。Spring现在是无缝集成了Groovy,根本就不需要自己手动加载ScriptEngine可以给个文档连接连接不

爱吃鱼的程序员 2020-06-12 15:44:49 0 浏览量 回答数 0

回答

我们在《深入分析Java的编译原理》中提到过,为了让Java语言具有良好的跨平台能力,Java独具匠心的提供了一种可以在所有平台上都能使用的一种中间代码——字节码(ByteCode)。 有了字节码,无论是哪种平台(如Windows、Linux等),只要安装了虚拟机,都可以直接运行字节码。 同样,有了字节码,也解除了Java虚拟机和Java语言之间的耦合。这话可能很多人不理解,Java虚拟机不就是运行Java语言的么?这种解耦指的是什么? 其实,目前Java虚拟机已经可以支持很多除Java语言以外的语言了,如Kotlin、Groovy、JRuby、Jython、Scala等。之所以可以支持,就是因为这些语言也可以被编译成字节码。而虚拟机并不关心字节码是有哪种语言编译而来的。 经常使用IDE的开发者可能会发现,当我们在Intelij IDEA中,鼠标右键想要创建Java类的时候,IDE还会提示创建其他类型的文件,这就是IDE默认支持的一些可以运行在JVM上面的语言,没有提示的,可以通过插件来支持。 目前,可以直接在JVM上运行的语言有很多,今天介绍其中比较重要的九种。每种语言通过一段『HelloWorld』代码进行演示,看看不同语言的语法有何不同。 Kotlin Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也可以被编译成为JavaScript源代码。Kotlin的设计初衷就是用来生产高性能要求的程序的,所以运行起来和Java也是不相上下。Kotlin可以从 JetBrains InteilliJ Idea IDE这个开发工具以插件形式使用。 Hello World In Kotlin fun main(args: Array<String>) { println("Hello, world!") } Groovy Apache的Groovy是Java平台上设计的面向对象编程语言。它的语法风格与Java很像,Java程序员能够很快的熟练使用 Groovy,实际上,Groovy编译器是可以接受完全纯粹的Java语法格式的。 使用Groovy的一个重要特点就是使用类型推断,即能够让编译器能够在程序员没有明确说明的时候推断出变量的类型。Groovy可以使用其他Java语言编写的库。Groovy的语法与Java非常相似,大多数Java代码也匹配Groovy的语法规则,尽管可能语义不同。 Hello World In Groovy static void main(String[] args) { println('Hello, world!'); } Scala Scala是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。 Scala经常被我们描述为多模式的编程语言,因为它混合了来自很多编程语言的元素的特征。但无论如何它本质上还是一个纯粹的面向对象语言。它相比传统编 程语言最大的优势就是提供了很好并行编程基础框架措施了。Scala代码能很好的被优化成字节码,运行起来和原生Java一样快。 Hello World In Scala object HelloWorld { def main(args: Array[String]) { System.out.println("Hello, world!"); } } Jruby JRuby是用来桥接Java与Ruby的,它是使用比Groovy更加简短的语法来编写代码,能够让每行代码执行更多的任务。就和Ruby一样,JRuby不仅仅只提供了高级的语法格式。它同样提供了纯粹的面向对象的实现,闭包等等,而且JRuby跟Ruby自身相比多了很多基于Java类库 可以调用,虽然Ruby也有很多类库,但是在数量以及广泛性上是无法跟Java标准类库相比的。 Hello World In Jruby puts 'Hello, world!' Jython Jython,是一个用Java语言写的Python解释器。Jython能够用Python语言来高效生成动态编译的Java字节码。 Hello World In Jython print "Hello, world!" Fantom Fantom是一种通用的面向对象编程语言,由Brian和Andy Frank创建,运行在Java Runtime Environment,JavaScript和.NET Common Language Runtime上。其主要设计目标是提供标准库API,以抽象出代码是否最终将在JRE或CLR上运行的问题。 Fantom是与Groovy以及JRuby差不多的一样面向对 象的编程语言,但是悲剧的是Fantom无法使用Java类库,而是使用它自己扩展的类库。 Hello World In Fantom class Hello { static Void main() { echo("Hello, world!") } } Clojure Clojure是Lisp编程语言在Java平台上的现代、函数式及动态方言。 与其他Lisp一样,Clojure视代码为数据且拥有一套Lisp宏系统。 虽然Clojure也能被直接编译成Java字节码,但是无法使用动态语言特性以及直 接调用Java类库。与其他的JVM脚本语言不一样,Clojure并不算是面向对象的。 Hello World In Clojure (defn -main [& args] (println "Hello, World!")) Rhino Rhino是一个完全以Java编写的JavaScript引擎,目前由Mozilla基金会所管理。 Rhino的特点是为JavaScript加了个壳,然后嵌入到Java中,这样能够让Java程序员直接使用。其中Rhino的JavaAdapters能够让JavaScript通过调用Java的类来实现特定的功能。 Hello World In Rhino print('Hello, world!') Ceylon Ceylon是一种面向对象,强烈静态类型的编程语言,强调不变性,由Red Hat创建。 Ceylon程序在Java虚拟机上运行,​​可以编译为JavaScript。 语言设计侧重于源代码可读性,可预测性,可扩展性,模块性和元编程性。 Hello World In Ceylon shared void run() { print("Hello, world!"); } 总结 好啦,以上就是目前主流的可以在JVM上面运行的9种语言。加上Java正好10种。如果你是一个Java开发,那么有必要掌握以上9中的一种,这样可以在一些有特殊需求的场景中有更多的选择。推荐在Groovy、Scala、Kotlin中选一个。

montos 2020-06-01 17:04:25 0 浏览量 回答数 0

回答

Post.groovy应该这样写:package forum class Post { static constraints = { author() title() content() dateCreated() lastUpdate() } static belongsTo = [thread: Thread] String author String content String title Date dateCreated Date lastUpdate }Thread.groovy应该这样写:package forum class Thread { static constraints = { lastUpdate() } static hasMany = [posts: Post] Date lastUpdate }

爵霸 2019-12-02 01:57:24 0 浏览量 回答数 0

问题

关于groovy的数据库操作 小白问题?报错

爱吃鱼的程序员 2020-06-09 12:44:25 0 浏览量 回答数 1

问题

导入groovy项目后报错?报错

爱吃鱼的程序员 2020-06-08 20:57:38 0 浏览量 回答数 1

问题

如何在Elasticsearch实现模糊匹配功能

景凌凯 2020-04-24 23:23:24 1 浏览量 回答数 1

回答

错误一:DescriptionResourcePathLocationType Project 'apache-ofbiz-10.04.03' is missing required source folder: 'framework/base/build/gen-src/javacc'apache-ofbiz-10.04.03Build pathBuild Path ProblemDescriptionResourcePathLocationTypeProject 'apache-ofbiz-10.04.03' is missing required source folder: 'framework/sql/build/gen-src/javacc'apache-ofbiz-10.04.03Build pathBuild Path Problem解决办法:首先根目录build.xml----run as ---ant build,其次把framework/base/config放到类加载路径,build path可能出现的错误:config.getServletContext().getContextPath() urlBuilder.append(request.getSession().getServletContext().getContextPath());等报错原因一:servlet版本过低,解决方法:http://blog.csdn.net/lifeihu/article/details/7792401原因二:你安装了groovy插件,导致eclipse自动去查找groovy插件里的jre了,但是找不到解决办法,在build path 里把groovy的jre删除最后修改数据源别忘了修改framework/entity/config/entityengine.xml转自:http://monk007.iteye.com/blog/1740664

蛮大人123 2019-12-02 01:48:36 0 浏览量 回答数 0

回答

引用来自“马奇正”的答案 第一步:更改groovyjar包的版本 http://stackoverflow.com/questions/11281430/java-lang-classformaterror-illegal-class-name-groovy-jmx-builder-package-info 第二步:为JVM分配内存空间 -Xms256m-Xmx512m-XX:MaxNewSize=256m-XX:MaxPermSize=256m 第三步:删除web-inf/lib下servlet-api.jar、jsp-api.jar两个Jar包 http://stackoverflow.com/questions/8545687/java-lang-classnotfoundexception-javax-servlet-jsp-el-implicitobjectelresolver ava.lang.ClassFormatError:Illegalclassname"groovy/jmx/builder/package-info"inclassfilegroovy/jmx/builder/package-info  初次使用就玩groovy这么新潮的玩意了? 是别人搭的项目我直接从SVN上checkout的然后就调了一天的错误==。还好都解决了 java.util.concurrent.ExecutionException:java.lang.OutOfMemoryError:PermGenspace  PermGenspace这个配了多少? 呃是有这个问题改了一下解决了谢谢啦第一步:更改groovyjar包的版本 http://stackoverflow.com/questions/11281430/java-lang-classformaterror-illegal-class-name-groovy-jmx-builder-package-info 第二步:为JVM分配内存空间 -Xms256m-Xmx512m-XX:MaxNewSize=256m-XX:MaxPermSize=256m 第三步:删除web-inf/lib下servlet-api.jar、jsp-api.jar两个Jar包 http://stackoverflow.com/questions/8545687/java-lang-classnotfoundexception-javax-servlet-jsp-el-implicitobjectelresolver

爱吃鱼的程序员 2020-06-22 14:15:46 0 浏览量 回答数 0

问题

Gradle构建GroovyAndroid错误?报错

爱吃鱼的程序员 2020-06-12 15:15:30 12 浏览量 回答数 2

问题

如何在Shell脚本中访问jenkins groovy变量的值以进行循环

祖安文状元 2020-01-08 15:31:28 3 浏览量 回答数 1

回答

我也遇到这个问题了.因为使用了eval指令,会lock整个数据库. 解决办法1:用jmeter执行java代码,(继承AbstractJavaSamplerClient类). 解决办法2:用jsr223的groovy脚本. 参考的jmeter文档: This Element currently uses com.mongodb.DB#eval which takes a global write lock causing a performance impact on the database, see db.eval() . So it is better to avoid using this element for load testing and use JSR223+Groovy scripting using MongoDBHolder instead. MongoDB Script is more suitable for functionnal testing or test setup (setup/teardown threads)

kun坤 2020-06-03 11:18:26 0 浏览量 回答数 0

回答

Grails 3 与 Grails 2 完全不一样了。 3 基本不是单独框架了, 就是 Spring 4+Gradle+Groovy(Spring 4 已经把 Grails2 中的 Groovy 支持吸干了) 组合, 插件完全不兼容2.x。其核心的 GORM 等现在都可以独立出来使用了。 ######有没有试过在grails 3中配置多数据源?###### 问题解决,详见我的博客http://yongfengsun.blog.163.com/blog/static/792553852016217112851842/

kun坤 2020-06-05 13:18:10 0 浏览量 回答数 0

问题

java调用groovy时怎样可以实现自动重载?:报错

kun坤 2020-06-06 22:16:34 0 浏览量 回答数 1

问题

java调用groovy时怎样可以实现自动重载?403.10 禁止访问:配置无效 

kun坤 2020-05-27 20:05:42 4 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站