阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

用 Groovy 能玩出来的漂亮把戏

  • 2007-05-31
  • 本文字数:1001 字

    阅读完需:约 3 分钟

随着动态语言开始在 JDK 6 中扮演重要角色,Groovy 专家 Guillaume Laforge、Dierk Konig 和 Guillaume Alleon 在“用 Groovy 能玩出来的漂亮把戏(Cool things you can do with Groovy)”研讨会向开发人员展示了 Groovy 语言的特性,从而帮助开发人员提高生产力。

演讲的一开始介绍了 Groovy 的标准特性(增强的语言特性、闭包 [Closures]、正则表达式支持、GString 和集合等等),随后还讨论了一些对提高生产力更有帮助的语言特性,其中最为引人注意的包括:

Groovy Builders 和 GPath:你不再需要通过翻译砸的 XPath API 来访问数据了。使用 GPath 操作 XML 文档就像直接操作对象一样,允许你通过调用属性来访问数据;而使用 Builder,你可以反过来使用对象和大括号来创建 XML 文件。除了 XML Builder 以外,还有 Swing 和 Ant 的 Builder。

对 Annotation 的支持:在今年稍后发布 1.1 版本之后,Groovy 将成为唯一支持 Annotation 的动态语言。由于它将允许双向的数据访问,因此这是一个重要的里程碑。一个使用了 Google Juice 和 TestNG 的演示展示了使用注入的 Mock 数据的测试用例开发起来是多么轻而易举的一件事情。

Live Objects:Groovy 外壳(Shell)的特性不仅是一个考察这门语言最简单的途径,而且可以用来交互地探索 Java 的运行期环境。当运行期配置被嵌入到一个应用程序中时,开发人员可以对这些配置进行探索,并且对其进行实时修改,这使得开发人员在永久性修改代码之前,就可以检验所做的假设并且对理论进行测试。

动态的应用程序:在你的应用程序中可以选择这样一种方式:将 Groovy 代码编译成 Java 的 class 文件,然后在应用中使用这些静态类。此外,开发人员还有其它选择。最有说服力的就是使用 GroovyClassloader,这种方式使得 Groovy 脚本在运行期被请求时才被编译,这就允许在运行时期更改和使用源文件,而不必重启整个应用程序。

Charles Ditzel 在经过演讲人允许之后,发布 PPT 供大家下载

查看英文原文: Cool things you can do with Groovy - - - - - -

译者简介:吴磊,有多年软件开发经验,从 1999 年开始使用 C++,2002 年转入 Java 领域,具备 J2ME 和 J2EE 方面的开发经验。在多个项目开发过程中先后使用过 WebWork、Spring、Hibernate 等开源项目。目前正在进行基于 Spring 轻量级 J2EE 开发,对敏捷方法有一些尝试。另外对 Erlang 很有兴趣,正在学习中。为 InfoQ 中文站贡献内容,请邮件至 china-editorial@infoq.com

2007-05-31 08:30624

评论

发布
暂无评论
发现更多内容

功能强大的ftp工具 Viper FTP 免激活最新版

胖墩儿不胖y

ftp Mac软件 ftp传输

ES 关于 remote_cluster 的一记小坑

极限实验室

easysearch

快速切换软件One Switch 激活版中文

胖墩儿不胖y

Mac软件 切换工具 切换软件 快速切换软件

如何使用Shardingsphere Proxy分库分表

Kevin_913

数据库 分库分表 中间件 ShardingSphere-Proxy

代币上市策略:加密货币交易所开发公司的见解

区块链软件开发推广运营

dapp 数字藏品开发 区块链开发 链游开发 NFT开发

《用战略规划的方式做孩子的人生规划》-置顶向下-战略七力

Jxin

育儿 教育 职业生涯规划 战略规划

精进别学N类法:智力活动对象的MECE细分

豆哥

思维模型 MECE 逻辑拆解

文心一言 VS 讯飞星火 VS chatgpt (106)-- 算法导论10.1 4题

福大大架构师每日一题

福大大架构师每日一题

大模型太贵?找找自己的原因好吧?

白洞计划

大模型

深度学习模型部署与优化:策略与实践;L40S与A100、H100的对比分析

蓝海大脑GPU

[大厂实践] 无停机迁移大规模关键流量(下)

俞凡

架构 netflix 大厂实践

亚运会线上观赛直播平台开发制作,成品源码快速搭建解决方案

软件开发-梦幻运营部

Python 元组完全指南1

小万哥

Python 程序员 软件 后端 开发

开发人员的首选:CodeWhisperer

亚马逊云科技 (Amazon Web Services)

#人工智能

十分钟冥想,与自我深入对话,发现更多的可能性。

叶小鍵

Mac电脑视频清晰化处理 Perfectly Clear Video激活最新版

mac大玩家j

Mac软件 视频编辑 视频处理工具 视频修复软件

大模型太贵?找找自己的原因好吧?

脑极体

AI

Rust语言中,const 和 static 的区别

0x5d0de9

​Rust

深入解析MySQL双写缓冲区

Java随想录

Java MySQL

只有1%的人知道的Mysql性能优化,却能让你系统提速100%,开发效率翻倍!

程序员万金游

MySQL性能优化 MySQL 高可用 #java java 架构 #Mysql

文心一言 VS 讯飞星火 VS chatgpt (107)-- 算法导论10.1 5题

福大大架构师每日一题

福大大架构师每日一题

逻辑拆解基本功:解锁复杂问题的钥匙

豆哥

思维模型 逻辑 MECE 拆解

强大的Git客户端 Tower for Mac激活码

mac大玩家j

git Mac软件 Git客户端

用Groovy能玩出来的漂亮把戏_Java_Ian Roughley_InfoQ精选文章