用过Groovy的童鞋估计更多被其光鲜的语法外表吸引了——在现在编译技术和产品丰富且成熟的情况下,创造一个编程语言更多体现在设计的理念的区别——先写了几句废话。。。
切入正题,常用Groovy的童鞋应该经常看gapi和groovy-jdk-api,groovy-sdk的源码也是比较容易看懂的,我就目前自己掌握的东东,总结下分享给大家,有不到之处,请大家多拍砖
1. 设计思路上
.依靠JVM这棵大树
.汲取众多**高级语言的语言特性使得在语言功能层面强大
具体通过,扩展基础API,提供常用的工具包,支持高级编程方式(或协议?)
特性列举如:纯OO,更丰富和灵活的操作符,灵活的类型转换机制,正则,闭包等支持,MOP的扩展方式
.依附标准,利用java生态园的库以粗粒度的形式提供一些具体的解决方案和集成方法
如Groovy Modules,Ant Task,BSF,java6的ScriptEngin
2. 和Java集成上
大家可能读到Groovy和Java相互操作、调用的一些文章和demo——其实哪有所谓的相互,完全都是vm的class之间的调用么——这句话要避嫌——底层都是C和汇编呢
先列举几个常用的Java引用Groovy的类,就像Java使用任何一个第三方库的方式一样
Top
•GroovyEngine
•Script
•Eval
Level 1/2
• GroovyShell
Level 3
• GroovyClassLoader.parseClass
比较眼熟吧,稍微看下groovy的源码——我们就会最终汇总到一处,就是 GroovyClassLoader——把另外一个语法语言(Groovy)编译(AST)成目标语言(.class),在JVM上,这就是唯一的通路。GroovyClassLoader,这个就是题目提到的“紧紧把握一点”了。如果你要引入groovy到你的项目上,到现有的产品里,不要紧盯着Spring提供的Groovy**BeanFactory,或者用一个BSF,(当然javax.script更官方)读GroovyClassLoader的API,你会达到你想要的一切。
另外就是Groovy语言上的学习,无非是语法、技能的熟练、经验的积累,我推荐下面几个做参考,剩下就要多练习了
具体对groovy性能啊,动态使用或编译后使用等等东西的讨论就不再这个blog里赘述了,网上一堆,喜欢groovy的童鞋,继续去多实践吧!
分享到:
相关推荐
开始学习Groovy时,可以从基础语法开始,了解变量、控制流、函数和类的用法。然后深入到闭包、元编程等高级主题,最后通过实践项目巩固所学知识。 8. **总结** Groovy作为Java平台上的动态语言,不仅简化了编码,...
在《Groovy学习笔记》这本书中,你可能会学到如何快速入门Groovy,理解其基本语法,包括变量、控制流、类和对象的创建,以及如何利用Groovy的特性来提高开发效率。此外,书中可能还会涵盖Groovy在实际项目中的应用,...
Groovy是一种动态、类型安全的...通过深入学习和实践Groovy,开发者可以提升开发效率,利用其灵活性和强大功能来解决各种编程挑战。无论是Web开发、自动化还是日常脚本编写,Groovy都是JVM平台上值得掌握的工具之一。
同时,Groovy还支持 Duck Typing,即“如果它走起来像鸭子,那么它就是鸭子”,这意味着不需预先声明类型,只要对象有相应的方法,就可以直接调用。 Groovy的Groovy Shell和GroovyConsole是学习和调试Groovy代码的...
《Groovy学习与Gradle实践经典手册》是一本深度探讨Groovy编程语言和Gradle构建工具的指南,专为Android及Java开发人员提供全面的知识覆盖。本书旨在帮助开发者提升在项目管理和自动化构建方面的技能,使其能够高效...
Groovy是一种动态、开源的编程语言,它设计用于在Java平台上运行,并且与Java高度兼容。...通过深入学习和实践,开发者可以充分利用Groovy的优势,提升工作效率,特别是在处理动态性和灵活性要求较高的任务时。
3. **Groovy Shell和GroovyConsole**: 这两个工具是学习和测试Groovy代码的好帮手,可以快速尝试和验证代码片段。 4. **GString**: Groovy的字符串支持模板语法,可以方便地进行字符串格式化,如`"Hello, ${name}"`...
安装完成后,配置环境变量,将Groovy的bin目录添加到PATH变量中,这样就可以在命令行中直接使用groovysh、groovyc和groovy等命令了。 Groovy的基本语法与Java有许多相似之处,但更为简洁和灵活。比如,Groovy允许...
"Grails&Groovy参考资料"这个压缩包文件很可能是包含各种教程、文档、示例代码和其他学习资源的集合,可以帮助你深入理解和实践这两个技术。在学习过程中,你可以结合这些资料,通过阅读、编程练习和实际项目来提升...
通过对这些材料的学习,开发者可以了解Groovy的语法、API以及如何在实际项目中运用它。同时,对于早期版本的Groovy,研究其历史和演进过程也能帮助我们理解语言的发展和改进。 总的来说,Groovy作为一款强大且灵活...
### Groovy学习笔记知识点梳理 #### 一、Groovy简介 - **概念**:Groovy是一种灵活的脚本语言,其设计初衷是为了更好地服务于Java开发者。它具备许多现代动态语言的特点,比如Python和Ruby,同时又能够无缝地与Java...
Groovy结合了Java的静态类型系统和Python、Ruby等动态语言的灵活性,使得开发者可以更加高效地编写代码。本篇文章将深入探讨Groovy语言的关键特性和应用场景。 一、Groovy简介 Groovy是2003年由James Strachan创建...
总的来说,"Groovy in Action"提供了全面的学习材料,配合API文档,可以帮助开发者迅速掌握Groovy的精髓,并将之应用到实际项目中。通过阅读这本书和实践其中的示例,你将能更好地理解和利用Groovy的强大力量,提升...
适合想了解groovy 编程开发的人员 Groovy - hellworld Groovy - 变量 Groovy - 静态import Groovy - 字符串 Groovy - 分支结构语句 Groovy - 循环结构语句
无论是新手还是经验丰富的开发者,都能通过学习Groovy和使用GroovyEclipse插件提升工作效率。通过阅读《Groovy经典入门》这本书和实践其中的示例,你可以快速掌握Groovy语言并开始利用其强大的功能。
Groovy是一种基于Java平台的动态脚本语言,它在设计时考虑了简洁性和生产力的提升。Groovy之所以受到青睐,主要是因为它比Java更加...无论是初学者还是经验丰富的开发者,都可以通过学习Groovy来提升自己的开发技能。
此时,Groovy这种基于JVM的动态语言就发挥了重要作用。本文将详细讲解如何在Java应用程序中调用Groovy脚本,实现从MongoDB数据库中读取并实时运行Groovy脚本,以及其背后的原理和优势。 首先,Groovy是一种与Java...
Groovy是一种基于Java平台的动态脚本语言,它以其简洁的语法、强大的功能以及与Java的无缝集成而受到开发者喜爱。...对于Java开发者来说,学习Groovy可以增强开发效率,因为很多Java语法在Groovy中都有对应的简化版本。
- `PATH`:在现有的路径中添加`%GROOVY_HOME%\bin`,这样你就可以在命令行中直接运行Groovy命令了。 4. **验证安装**: 打开命令行窗口,输入`groovysh`或`groovy -v`,如果成功,你应该能看到Groovy Shell或...