阅读更多

9顶
2踩

编程语言

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

2013-01-28 10:44 by 副主编 wangguo 评论(8) 有7571人浏览
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语法...

  • 人力资源经理绩效考核表.xls

    人力资源经理绩效考核表

  • 智慧环卫管理平台建设方案Word(211页).docx

    一、智慧环卫管理平台的建设背景与目标 智慧环卫管理平台的建设源于对环卫管理全面升级的需求。当前,城管局已拥有139辆配备车载GPS系统、摄像头和油耗传感器的环卫车辆,但环卫人员尚未配备智能移动终端,公厕也缺乏信息化系统和智能终端设备。为了提升环卫作业效率、实现精细化管理并节省开支,智慧环卫管理平台应运而生。该平台旨在通过信息化技术和软硬件设备,如车载智能终端和环卫手机App,实时了解环卫人员、车辆的工作状态、信息和历史记录,使环卫作业管理透明化、精细化。同时,平台还期望通过数据模型搭建和数据研读,实现更合理的环卫动态资源配置,为环卫工作的科学、健康、持续发展提供决策支持。 二、智慧环卫管理平台的建设内容与功能 智慧环卫管理平台的建设内容包括运行机制体制建设、业务流程设计、智慧公厕系统建设、网络建设、主机和储存平台需求、平台运维管理体系、硬件标准规范体系以及考核评价体系等多个方面。其中,智慧公厕系统建设尤为关键,它能实时监控公厕运行状态,保障公厕的清洁和正常运行。平台建设还充分利用了现有的电子政务网络资源,并考虑了有线和无线网络的需求。在功能上,平台通过普查、整合等手段全面收集环卫车辆、企业、人员、设施、设备等数据,建立智慧环卫基础数据库。利用智能传感、卫星定位等技术实现环卫作业的在线监管和远程监控,实现对道路、公共场所等的作业状况和卫生状况的全面监管。此外,平台还建立了环卫作业网格化管理责任机制,实现从作业过程到结果的全面监管,科学评价区域、部门、单位和人员的作业效果。 三、智慧环卫管理平台的效益与风险规避 智慧环卫管理平台的建设将带来显著的环境、经济和管理效益。环境方面,它将有力推进环境卫生监管服务工作,改善环境卫生状况,为人民群众创造更加清洁、卫生的工作和生活环境。经济方面,通过智慧化监管,大大降低了传统管理手段的成本,提高了监管的准确性和效率。管理方面,平台能够追踪溯源市民反映的问题,如公厕异味、渣土车辆抛洒等,并找到相应的责任单位进行处置,防止类似事件再次发生。同时,平台还拥有强大的预警机制功能,能够在很多环卫问题尚未出现前进行处置。然而,平台建设也面临一定的风险,如部门协调、配合问题,建设单位选择风险以及不可预测的自然灾害等。为了规避这些风险,需要加强领导、统一思想,选择优秀的系统集成商承接项目建设,并做好计算机和应用系统的培训工作。同时,也要注意标准制定工作和相关法律法规的制定工作,以保证系统建设完成后能够真正为环卫管理工作带来便利。

  • apache-parent-10-14.el7.x64-86.rpm.tar.gz

    1、文件内容:apache-parent-10-14.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/apache-parent-10-14.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

  • 用于卫星通信的CTS天线

    用于卫星通信的圆极化CTS天线研究

  • 人事档案登记及查询系统.xlsx

    人事档案登记及查询系统

  • 12 -防损部经理绩效考核表1.xlsx

    12 -防损部经理绩效考核表1

Global site tag (gtag.js) - Google Analytics