【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

用 Groovy 能玩出来的漂亮把戏

  • 2007-06-30
  • 本文字数:1005 字

    阅读完需:约 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-06-30 19:30773

评论

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

了解 Flutter 的Timer类和Timer.periodic【Flutter专题19】

坚果

flutter 28天写作 签约计划第二季 12月日更

SQS 和 SNS 对比分析

liuzhen007

28天写作 12月日更

盘点JavaScript哪些常用的字符串对象

你好bk

JavaScript 大前端 字符串 基础知识 12月日更

聊聊 Kafka:Producer 源码解析

老周聊架构

2.react心智模型(来来来,让大脑有react思维吧)

buchila11

React

字典树之旅02.Trie 的标准实现

极客志

自然语言处理 数据结构 算法 Trie 字典树

[Pulsar] Consumer如何消费消息

Zike Yang

Apache Pulsar 12月日更

Redis为何这么快?

JavaEdge

12月日更

MySQL探秘(八):InnoDB的事务

程序员历小冰

MySQL 事务 28天写作 12月日更

Java jar 如何防止被反编译

xcbeyond

28天写作 12月日更

学习能力

Nydia

「架构实战营」模块一《为何架构设计能力难以提升》作业

DaiChen

作业 模块一 「架构实战营」

跟老表学云服务器开发专栏导航

老表

Python 内容合集 签约计划第二季 技术专题合集 跟老表学云服务器

学生管理系统架构设计

tony

「架构实战营」

面试官问我:什么是缓存击穿,该怎么解决?

喵叔

28天写作 12月日更

聊聊IT行业的项目管理模式

圣迪

项目管理 敏捷 pmp 开发 瀑布

一对一沟通有必要吗?

Justin

沟通 28天写作

老大react说:schedule,我们今年的小目标是一个亿

全栈潇晨

React React Hooks

Prometheus Exporter (二十一)Ceph Exporter

耳东@Erdong

Prometheus Ceph 28天写作 exporter 12月日更

如何用Python发送告警通知到钉钉?

老表

Python Linux 守护进程 跟老表学云服务器

来来来,手摸手写一个hook

全栈潇晨

React React Hooks

【LeetCode】二叉搜索树中的搜索Java题解

Albert

算法 LeetCode 12月日更

团队基建系列 - 组织知识传承3 破局

搬砖的周狮傅

python scrapy极细拆解,打开Spider类看内容,顺手爬了一下优设网

梦想橡皮擦

12月日更

人人都能读懂的react源码解析(大厂高薪必备)

buchila11

React React Hooks

字典树之旅01.开篇

极客志

自然语言处理 数据结构 算法 nlp 字典树

技术人创业过程中应保持开放的心态

wood

创业 技术 28天写作

你了解集合?那你倒是给我说说啊!【1】

XiaoLin_Java

12月日更

记录:今年最骄傲的一件事

将军-技术演讲力教练

在线MySQL,SQL Server建表语句生成JSON测试数据工具

入门小站

工具

模块1

Geek_59dec2

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