groovy语言没有java的原型类型,所有都是Object
如语句
int a = 1
groovy编译之后其实质是
Integer a = new Integer(1);
这虽然在Map或List处理时提供了方便,不过对于循环来说,性能就降低了很多。
如java代码
public class JavaTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
long start = System.currentTimeMillis();
for(long i=0;i<1000000;i++);
System.out.println(System.currentTimeMillis()-start);
}
}
和groovy代码
public class GroovyTest{
public static void main(String[] args){
def start = System.currentTimeMillis();
0.upto(1000000){}
println(System.currentTimeMillis()-start);
}
}
运行多次,java代码需时间都在10左右,而groovy却需要550左右。
希望高手解答,现在学groovy,突然自己测试发现性能相差这么多,去网上查询,也都说groovy比java慢10倍左右,就再也没有提起学groovy的劲头。groovy很火热肯定有他的长处,不过这么慢就没什么问题吗?没有用groovy写大点应用的经历,不知道高手们有没有过,是不是这段代码慢是特殊情况,大多数时候性能相差不多呢?
分享到:
相关推荐
Groovy 2.3系列引入了类型推断,使得代码更加可读和易于维护,同时也提高了性能。此外,这一版本还包含了对Java 8的初步支持,尽管不是全面的,但已经允许开发者利用Java 8的一些新特性,如lambda表达式。 "groovy-...
java、groovy、C#、Javascript的运行效率到底如何? 通过实验比较,Javascript的运行效率解决java,看来基于javascript的html5前途远大。 C#的Release版的运行性能也相当高,和C++相差不大,值得推荐。 文件内部...
6. **GPars (Groovy Parallel Systems)**: GPars是Groovy的并行和并发处理库,支持数据流和并发编程,利用多核处理器提高性能。 7. **Groovy JSON Support**: 内置的JSON处理能力,使得Groovy可以方便地解析和生成...
这个版本(2.4.8)是Groovy在2.x系列中的一个稳定发行版,提供了一系列的功能和性能改进。 1. **Groovy简介** - Groovy是一种基于Java虚拟机(JVM)的编程语言,它与Java高度兼容,可以直接调用Java库。 - 它引入...
最后,学习Groovy的最佳实践,如如何有效地利用元编程,何时使用静态类型以提高性能,以及如何编写易于理解和维护的代码,这些都是提升Groovy开发技能的重要部分。 通过深入学习和实践这份"Groovy学习资料"中的内容...
2. **GroovyShell和GroovyConsole**:这两个工具允许开发者在交互式的环境中测试Groovy代码,是学习和调试Groovy语法的好帮手。GroovyShell可以直接执行Groovy脚本,而GroovyConsole提供了一个带有源代码编辑器和...
Groovy与Java的集成非常紧密,可以通过`@groovy.transform.CompileStatic`注解实现静态类型检查,提升代码的编译时性能。同时,Groovy还可以调用Java库,如下面的例子所示: ```groovy import java.util.Date Date...
4. **GroovyShell** 和 **GroovyConsole**:这两个工具提供了交互式的环境来测试和运行Groovy代码,是学习和调试Groovy的实用工具。 5. **集成开发环境(IDE)支持**:Groovy 1.6.4版本支持Eclipse和IntelliJ IDEA...
Groovy 2.4.7版本相对于早期版本可能引入了一些新的特性和改进,例如性能优化、语法增强或对新版本JVM的支持。开发者可以通过官方文档了解具体细节,以充分利用这些更新。 总的来说,Groovy-sdk-2.4.7为开发者提供...
在ADF BC中,我们可以利用Groovy来创建单元测试和集成测试,确保业务逻辑的正确性。 6. **提升性能** 虽然Groovy是动态语言,但它的JVM集成意味着它的性能接近Java。在ADF BC中,这意味着我们可以利用Groovy的效率...
7. 调试和优化:理解如何在Grails应用中定位和修复问题,以及性能调优技巧。 "Grails&Groovy参考资料"这个压缩包文件很可能是包含各种教程、文档、示例代码和其他学习资源的集合,可以帮助你深入理解和实践这两个...
5. **测试框架集成**:支持Spock等Groovy测试框架,方便编写和运行单元测试。 6. **集成构建工具**:可能与Gradle或Grails等构建工具集成,简化项目构建和依赖管理。 总的来说,MyEclipse Groovy插件旨在为Java...
- Groovy的`@CompileStatic`注解可用于提升代码的性能,将Groovy代码编译为等价的Java字节码,这样就可以利用Java的类型检查和优化。 5. ** Grape依赖管理** - Groovy的Grape机制允许在运行时自动下载所需的库,...
Groovy和Grails是两个密切相关的开源技术,主要用于构建现代、高效的Java平台应用程序。Groovy是一种动态、灵活的编程...通过深入学习,开发者能够利用Groovy的灵活性和Grails的高效开发能力,构建出高性能的Web应用。
6. **GroovyShell和GroovyConsole**:这两个工具是Groovy提供的交互式环境,便于测试和学习Groovy代码。 7. **GDK(Groovy Development Kit)**:Groovy扩展了Java的API,提供了更多实用的类和方法,增强了Java的...
在Apache Groovy 2.4.x系列中,主要关注了性能优化、错误修复和对Java平台的兼容性。2.4.13作为这一系列的最新版本,可能包含了对先前版本中发现的问题的修复,以提高稳定性和安全性。对于开发者来说,这意味着使用...
1. **Spock**:Groovy还有一款强大的测试框架Spock,其基于行为驱动开发(BDD)理念,提供了简洁的语法来编写单元测试和集成测试。 在"groovy-binary-1.8.6"这个版本中,可能包含以下内容: - **JAR文件**:包含了...
Groovy-2.4.7是Groovy语言的一个特定版本,这个版本的发布旨在提供更好的性能、稳定性和新功能。 Groovy 2.4.7主要包含了以下知识点: 1. **动态类型与静态类型**:Groovy允许开发者选择使用静态类型或动态类型。...
然而,Groovy 2.0引入了`@CompileStatic`注解,允许开发者选择静态类型检查,以提高代码的性能和安全性。 2. **简洁的语法**: Groovy的语法比Java更加简洁,例如,可以省略分号和大括号。此外,Groovy还支持闭包...
最后,演示文稿可能包含一个实际的演示部分,展示Groovy和JRuby在真实项目中的应用,以及性能比较。结论部分会总结两者的优缺点,帮助听众决定在特定情况下应该选择哪种语言。 总的来说,Groovy和JRuby各有千秋。...