阅读更多

9顶
2踩

编程语言

原创新闻 Groovy 2.1发布,完全支持“动态调用”

2013-01-28 10:44 by 副主编 wangguo 评论(8) 有7559人浏览
Groovy团队近日发布了最新的Groovy 2.1版本。


在Groovy 2.1版本中,引入了诸多新的特性:

  • 提供了对JDK 7 动态调用(invoke dynamic)字节码指令和API的完整的支持。
  • 通过特殊注解来辅助文档和专有领域语言,从而改善静态类型检查功能,此外,新增了静态类型检查器扩展
  • 提供了自定义编译选项
  • 元注解更灵活,与注解结合更优雅
  • 其他各种功能增强和改进
详细信息:Groovy 2.1 release notes

下载地址:http://groovy.codehaus.org/Download?nc

开发团队称,在2012年,Groovy已经被下载超过170万次,并与一些成功的Groovy项目(如GrailsGradleSpockGriffon等)一起构成了一个强大的生态系统。团队表示,会在未来不断改进Groovy的现有功能并增加新的功能,使得该语言得到长足发展。
  • 大小: 14.6 KB
  • 大小: 41.2 KB
9
2
评论 共 8 条 请登录后发表评论
8 楼 热带翎羽 2013-01-30 18:28
:http://groovy.codehaus.org
mmhotsky 写道
Groovy靠谱吗?因为没有足够的经验,始终没有在项目当中大规模的使用过,有用过的兄弟吗?谈下心得呗

商用项目用过,Performance木有问题!缺点是:IDE支持和“动态语言”带来的难以调试,必须使用TDD
7 楼 wushexu 2013-01-30 15:49
scala我也学习过。它是强类型,加上类型推断。一大能力是模式匹配,还有原生的并发支持(actor模式)。因是强类型,运行效率会比较高。并发支持groovy有gpars库,相当好,也不一定非要在语言级别支持。我是更喜欢无类型(不需类型声明)的动态语言,所以不用scala。scala学习起来会比groovy难些,在团队中使用也是要考虑的。
6 楼 skyfaint 2013-01-30 11:15
对scala的看法
1. scala或许在语言设计上非常优雅,这个我没有什么发言权。
2. 它支持各种语言

但是它的学习曲线太过陡峭,我试图推过几次,但是包括我在内的几个组员都不看好它,积极性不高。而且如果是在项目中采用动态语言的一个重要的原因一定是希望开发速度快,这个它反而又没有优势。相比而言jython, groovy学起来快,做起来快,和现有模块结合又好,scala更像是个叫好不叫座的东西
5 楼 skyfaint 2013-01-30 11:11
Groovy我用过,并且最终推入大型项目作为补充模块了,很不错,非常灵活提供的追加api很方便。他的closure也是随大流的结构,比还在襁褓里的jdk8的优雅多了。我觉得他的优点有
1. 方便的api和closure处理
2. 简洁的xml访问,用过java处理xml都知道这个解析有多恶心,groovy能通过xpath轻松搞定
3. 对循环的处理
4. 判断null和非null的及其后继逻辑简单实用

缺点
1. performance略有影响
2. 模块大的话还是死板一点的java好,动态语言在大模块和很多逻辑的情况下maintainance还是相对困难。不过这个不是groovy的问题
3. 部分老板对动态语言有排斥心理


4 楼 mainlove 2013-01-28 16:30
就没人研究 scala么
3 楼 mmhotsky 2013-01-28 14:06
感谢wushexu兄弟!以后有合适的机会,我会推动它在项目中使用
2 楼 wushexu 2013-01-28 13:15
mmhotsky 写道
Groovy靠谱吗?因为没有足够的经验,始终没有在项目当中大规模的使用过,有用过的兄弟吗?谈下心得呗

相当靠谱。开发效率高。
对JDK有很多方便的扩充。用groovy后几乎所有的*.util包都不需要了(包括org.apache.commons.*)。处理IO,XML,JSON都很方便。groovy.sql、AntBuilder很有用。
另外,并发库gpars很漂亮。基于Apache HttpClient的HTTP Builder用起来很爽。
不建议在计算密集型的代码里用(2.0之前版本)。支持动态调用后运行效率应该会有大幅提升。
1 楼 mmhotsky 2013-01-28 11:30
Groovy靠谱吗?因为没有足够的经验,始终没有在项目当中大规模的使用过,有用过的兄弟吗?谈下心得呗

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Groovy 2.1 released

    The Groovy team is pleased to announce the release of Groovy 2.1.0. With over 1.7 million downloads in 2012, a strong ecosystem of successful projects like Grails, Gradle, Spock or Griffon built on ...

  • java调用groovy_Groovy小结:java调用Groovy方法并传递参数

    Groovy小结:java调用Groovy方法并传递参数@(JAVA总结)1. 场景描述在网上查了资料发现,java有三种方式调用groovy脚本。但是真正在实际的服务器环境中,嵌入groovy脚本往往需要满足下面的条件:可以直接调用groovy...

  • Groovy 2.0.6 和 Groovy 2.1 beta 版本发布

    Groovy团队近日发布了Groovy 2.0.6和Groovy 2.1 beta两个版本。 Groovy 2.0.6主要是2.0分支的一个bug...完全支持JDK 7中的动态调用(invoke dynamic)特性 Groovy并发框架GPars升级至1.0 @DelegatesTo注解:帮助I...

  • Groovy 2.0.6和Groovy 2.1 beta版本发布

    Groovy团队近日发布了Groovy 2.0.6和Groovy 2.1 beta两个版本。 Groovy 2.0.6主要是2.0分支的一个bug修复版本,建议2.0分支用户升级至该版本。 Groovy ...

  • Guillaume Laforge谈Groovy 2.1

    本文来源于我在InfoQ中文站翻译的文章,原文地址...在该版本中,Groovy添加了几个新特性:完全支持Java 7的invokedynamic通过特殊的注解来辅助文档与领域特定语言的类型安全,超越了传统的静态类型检查能力新增的编译自

  • groovy 兼容 java,升级Groovy 1.7 - 2.1不兼容

    我正在从Groovy 1.76迁移到groovy 2.1并且在运行一些Java代码时出现问题 .我在我的类路径上设置了java 7和Groovy 2.1 . Gradle正在运行,我的项目可以像以前一样运行所有单元测试并成功执行 .但是,我有一个java类...

  • boot中groovy替代java_springboot应用动态运行groovy脚本-附源码

    一、简介在springboot项目中,开发人员可以很方便的完成各种功能的开发和封装,提供流行的restful api接口。然而对项目功能的测试,...那么能否实现动态组合或运行spring容器中注册的各个bean的功能、动态运行bean的...

  • Android Groovy 调用(十)

    1. Groovy调用脚本 groovy脚本文件hello.groovy。 println "Hello World!" // Hello World! 输入groovy hello.groovy可以调用该脚本 也可像java一样先进行编译,生产hello.class文件。 groovyc hello....

  • java groovy jar包_java调用groovy实例

    1.maven引入groovy jar包org.codehaus.groovygroovy-all2.1.92.调用package com.test;import java.util.ArrayList;import java.util.List;import groovy.lang.GroovyShell;public class TestGroovy {public static ...

  • springboot 中使用groovy脚本的各种方式

    springboot中使用groovy脚本的各种方式

  • groovy代码动态加载运行实战

    class Calculator { //groovy语法 def discount(a,b){ def c = a * b } //java语法 int add(int a, int b){ return a + b; } //java语法 String addStr(Map map){

  • JAVA调用groovy闭包_Groovy中的闭包

    Closures(闭包)本节主要讲groovy中的一个核心语法:closurs,也叫闭包。闭包在groovy中是一个处于代码上下文中的开放的,匿名代码块。它可以访问到其外部的变量或方法。1. 句法1.1 定义一个闭包{ [closureParameters...

  • 基于Groovy实现Spring Bean的动态加载

    Spring对Groovy有着良好的支持,能把Groovy实现类作为Bean来使用,在前一篇Blog《Spring对Groovy Bean的支持》有详细的描述 http://my.oschina.net/joshuazhan/blog/137940 。基于Groovy Bean可以实现Bean的动态...

  • JAVA代码的热部署,动态语言Groovy使用的三种方式

    JAVA代码的热部署,动态语言Groovy使用的三种方式 一、概述 Groovy是构建在JVM上的一个轻量级却强大的动态语言, 它结合了Python、Ruby和Smalltalk的许多强大的特性. Groovy就是用Java写的 , Groovy语法与Java语法...

  • 小米15工程固件 可以用于修改参数 修复tee损坏 修复底层分区 会用的下载

    资源描述: 机型代码:dada 1-----工程固件可以用于修改参数 开启diag端口。可以用于修复tee损坏以及修复底层分区。 2-----此固件是完整官方。不是第三方打包。请知悉 3-----此固件可以解锁bl后fast模式刷写。也可以底层深刷。也可以编程器写入 4-----请会用此固件 了解工程固件常识以及会用的朋友下载。 5-----个别高版本深刷需要授权才可以刷入。需要自己会刷写。 6------资源有可复制性。下载后不支持退。请考虑清楚在下载哦 工程资源常识可以参考博文:https://blog.csdn.net/u011283906/article/details/141815378 了解基本

  • 牙买加太阳能电池板检测7-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar

    牙买加太阳能电池板检测7-YOLO(v5至v11)、COCO、CreateML、Paligemma、TFRecord、VOC数据集合集.rar牙买加太阳能电池板检测-V11 2023-02-09 7:47 PM ============================= *与您的团队在计算机视觉项目上合作 *收集和组织图像 *了解和搜索非结构化图像数据 *注释,创建数据集 *导出,训练和部署计算机视觉模型 *使用主动学习随着时间的推移改善数据集 对于最先进的计算机视觉培训笔记本,您可以与此数据集一起使用 该数据集包含1406张图像。 太阳能板以可可格式注释。 将以下预处理应用于每个图像: *调整大小为640x640(拉伸) 没有应用图像增强技术。

  • JSP设计班级学生管理系统论文(2024ic).7z

    1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于计算机科学与技术等相关专业,更为适合;

  • 基于卷积神经网络的衣服识别系统详细文档+全部资料+优秀项目+源码.zip

    【资源说明】 基于卷积神经网络的衣服识别系统详细文档+全部资料+优秀项目+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

  • 基于卷积神经网络的人脸识别项目详细文档+全部资料+优秀项目+源码.zip

    【资源说明】 基于卷积神经网络的人脸识别项目详细文档+全部资料+优秀项目+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

  • 基于selenium与requests的暨南大学自动健康打卡程序资料齐全+详细文档+高分项目+源码.zip

    【资源说明】 基于selenium与requests的暨南大学自动健康打卡程序资料齐全+详细文档+高分项目+源码.zip 【备注】 1、该项目是个人高分项目源码,已获导师指导认可通过,答辩评审分达到95分 2、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的在校学生、老师或者企业员工下载使用,也可作为毕业设计、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!

Global site tag (gtag.js) - Google Analytics