gpt4 book ai didi

Java groovy如何提升代码运行效率

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Java groovy如何提升代码运行效率由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

刚开始学groovy,知道了它会先变异成class 文件,然后再用jvm 执行。写了Hello World程序,查看它的编译文件,发现groovy的效率挺低的。不但编译文件的代码多,而且需要依赖很多groovy包,导致了不能够直接使用java 命令运行class文件 。

Java groovy如何提升代码运行效率

比较如下:

Java版Hello World,JavaTest.java 。

?
1
2
3
4
5
public class JavaTest {
   public static void main(String[] args){
     System.out.println( "Hello World!" );
   }
}

编译后:JavaTest.class 。

?
1
2
3
4
5
6
7
8
public class JavaTest {
   public JavaTest() {
   }
 
   public static void main(String[] args) {
     System.out.println( "Hello World!" );
   }
}

Groovy版Hello World,GroovyTest.groovy 。

?
1
2
3
4
5
6
GroovyTest.groovy
class GroovyTest {
   static void main(args){
     println "Hello World!" ;
   }
}

编译后:GroovyTest.class 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import groovy.lang.GroovyObject;
import groovy.lang.MetaClass;
import org.codehaus.groovy.runtime.callsite.CallSite;
 
public class GroovyTest implements GroovyObject {
   public GroovyTest() {
     CallSite[] var1 = $getCallSiteArray();
     MetaClass var2 = this .$getStaticMetaClass();
     this .metaClass = var2;
   }
 
   public static void main(String... args) {
     CallSite[] var1 = $getCallSiteArray();
     var1[ 0 ].callStatic(GroovyTest. class , "Hello World!" );
   }
}

Groovy 升级版,GroovyTest.groovy 。

println("Hello World"),

编译后:GroovyTest.class 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import groovy.lang.Binding;
import groovy.lang.Script;
import org.codehaus.groovy.runtime.InvokerHelper;
import org.codehaus.groovy.runtime.callsite.CallSite;
 
public class GroovyTest extends Script {
   public GroovyTest() {
     CallSite[] var1 = $getCallSiteArray();
   }
 
   public GroovyTest(Binding context) {
     CallSite[] var2 = $getCallSiteArray();
     super (context);
   }
 
   public static void main(String... args) {
     CallSite[] var1 = $getCallSiteArray();
     var1[ 0 ].call(InvokerHelper. class , GroovyTest. class , args);
   }
 
   public Object run() {
     CallSite[] var1 = $getCallSiteArray();
     return var1[ 1 ].callCurrent( this , "Hello World" );
   }
}

越高级的语言,封装的越多,开发简单效率低 。

越底层的语言,封装的越少,开发复杂效率高 。

所以如果追求效率的话,还是使用Java代码的好.

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:https://www.cnblogs.com/acm-bingzi/p/groovy.html 。

最后此篇关于Java groovy如何提升代码运行效率的文章就讲到这里了,如果你想了解更多关于Java groovy如何提升代码运行效率的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com