Groovy++的名声已经传出去了,让我们看看Alex Tkachman本人对项目目标的解读及对未来的畅想。
静态类型Groovy到底是什么?
大家都知道,用Java编程非常繁琐、不便。Groovy则非常富于表达而且语法构造非常接近Java,因此学习曲线相当平滑。Groovy与Java之间可100%互操作,Groovy对象就是Java对象,反之亦然。
但是Groovy运行时很慢,我做过很多改善Groovy性能的工作,对这一点自然也是开诚布公。你会发现,有些计算或数据转换用Java重写会快 3-5倍,有时会到8-12倍甚至更高。有些人因此认为不要用Groovy做计算和后台处理……但是,我们为什么要把自己限制于简单的Web页面开发或处理上呢?
更糟的是,Groovy对多核计算机支持不好,用Groovy编译的几个线程执行代码实际上会相互影响速度。有些人可能会认为这只是并行实现的缺陷,随时间推移会得到改进。我却不这么想,我觉得这些问题源自Groovy动态本质。如果你需要在任何地点动态改变任何调用行为的能力,那么就必须付出代价。这是自然法则。
好在我们并不总是需要动态行为。杰出的语言表达能力加上强大类型推断,可以得到神奇的静态编译代码。这就是静态类型groovy的由来,我们应该区分要求高性能的代码和那些要求完全动态特性的代码。
全部原文请看:
Groovy++:内幕
分享到:
相关推荐
JUN SpringBoot API Service 是一个基于SpringBoot+Groovy+SQL动态生成API并动态发布,且发布后可动态执行groovy脚本及SQL脚本的API服务项目。提供在线执行动态程序脚热加载本及动态生成API并执行的功能。支持动态...
标题 "Groovy+Tapestry5+Spring2.5+Hibernate3.2实现CRUD" 涉及到的是一个使用几种技术栈构建Web应用程序的示例。这个项目结合了Groovy、Tapestry 5、Spring 2.5和Hibernate 3.2,旨在展示如何在实际开发中进行数据...
Groovy是另一种基于JVM的动态编程语言,它的语法简洁,易于阅读和编写。Groovy与Java高度互操作,可以在现有的Java项目中无缝集成。Groovy的优点在于它支持闭包和元编程,使得代码更加简洁和可扩展。 Stackless ...
它不仅支持Java,还支持其他多种编程语言,如Python、JavaScript、Groovy等。在Mac平台上,掌握IntelliJ IDEA的快捷键能显著提高开发效率,减少鼠标依赖,使程序员更加专注于代码编写。 本资料是针对Mac用户的...
Groovy环境搭建教程中的例子工程,纯Java、纯Groovy以及Java+Groovy混合 教程参考:http://blog.csdn.net/rcom10002/archive/2011/06/26/6568557.aspx
在IT行业中,构建高效、灵活的应用常常涉及到多种技术的整合,比如"groovy+maven+spring"这样的组合。这个组合提供了强大的动态脚本语言Groovy、项目管理工具Maven以及广泛应用的Spring框架的集成,使得开发过程更加...
- 如果需要在编译GROOVY文件时指定UTF-8编码,可以在`JAVA COMPILER`的`ADDITIONAL COMMAND LINE PARAMETERS`中添加`-ENCODING UTF-8`。 通过熟练掌握这些快捷键和功能,开发者可以更高效地在IntelliJ IDEA中工作...
本项目是基于Java语言,采用Spring Boot、MongoDB、Groovy和Elasticsearch等现代技术框架搭建的一个轻量级实时风控系统。以下是这个项目涉及的关键知识点: 1. **Spring Boot**: Spring Boot简化了Spring应用程序...
### Groovy in Action:深入学习Groovy编程语言 #### 一、引言 《Groovy in Action》是一本详尽介绍Groovy编程语言的书籍,由Dierk König撰写,并得到了Andrew Glover、Paul King、Guillaume Laforge以及Jon ...
IntelliJ IDEA是一款由JetBrains公司开发的Java集成开发环境,它支持多种编程语言,如Java、Kotlin、Groovy等,并且广泛应用于Web、企业级和移动应用开发。快捷键是提高开发效率的非常重要的工具,允许用户通过键盘...
### Groovy 快速入门知识点解析 #### 一、集合 **1.1 List** - **定义**: 在 Groovy 中,`List` 是一种非常常用的数据结构,它类似于 Java 的 `List`,能够存储一系列的对象,并且保持它们的顺序。 - **示例代码*...
- Ctrl + Shift + +:展开全部。 - Ctrl + Shift + -:折叠全部。 - Ctrl + F3:按词选择,扩展到下一个或上一个代码块的末尾或开头。 - Ctrl + Delete:删除到词尾。 - Ctrl + Backspace:删除到词头。 ...
在一次代码拉取中,出现了以下问题:Could not download groovy-all.jar (org.codehaus.groovy:groovy-all:2.4.15) 详细的报错信息如下: // 报错信息如下 Could not resolve all files for configuration ':jcore-...
赠送jar包:groovy-3.0.9.jar; 赠送原API文档:groovy-3.0.9-javadoc.jar; 赠送源代码:groovy-3.0.9-sources.jar; 赠送Maven依赖信息文件:groovy-3.0.9.pom; 包含翻译后的API文档:groovy-3.0.9-javadoc-API...
Groovy是一种动态、灵活的编程语言,它与Java有着紧密的联系,可以在Java平台上无缝运行。Spring框架是Java生态系统中最受欢迎的应用开发框架之一,尤其在Web开发领域。将Groovy与Spring结合,可以利用Groovy的简洁...
Groovy 脚本化Bean jar包下载
实时风控引擎(Risk Engine),自定义规则引擎(Rule Script),...一款基于java语言,使用Springboot + Mongodb + Groovy + Es等框架搭建的轻量级实时风控引擎,适用于反欺诈应用场景,极简的配置,真正做到了开箱即用。
maven3-junit-spock-testng-mixin Maven3示例项目,用于同时执行TestNG(Java,Groovy)+ JUnit(Java,Groovy)+ Spock(Groovy)测试用例。 对于Gradle用户,请参阅 mvn -version: Apache Maven 3.3.9 (bb52d...
Grails 是一个基于 Groovy 语言的开源Web应用框架,它构建在Spring Boot之上,旨在简化开发流程并提高生产力。Grails 的设计目标是提供一种灵活、高效的开发环境,使得开发人员可以快速构建高质量的、企业级的Web...