使用GROOVY编写第一个JAVA类

使用GROOVY编写第一个JAVA类

下面用groovy编写第一个java类,环境是linux+groovy+记事本软件,由于一般教程都喜欢配环境变量,我们这里玩点好玩的环境变量就不配了,ide?不需要的,东西太简单,尚且不需要ide给你降一波智。window就自己看,不太喜欢用,除了上班被迫的,反正差不多,就是可能自己groovyc等命令要加.bat

编写一个groovy类

代码如下

public class Hello{
def hello(){
println("hello")

}
def hello(arg){
println("message1 is $arg.message1 , message2 is $arg.message2")

}
static main(args){
   new Hello().hello()
   new Hello().hello message1:"mymessage1",message2:"mymessage2"

}
}

是不是缺点什么?语法糖了解一下!!

然后命令行cd进入你的groovy安装目录下的bin目录然后groovyc ${上面的文件名}
或者
输入groovy安装目录下bin目录全路径,然后/groovyc ${上面的文件名}
差不多是这样

groovyc Hello.java

当然了这里没有输入全路径所以如果你像我一样没有配置任何的环境变量的话肯定找不到命令喽。配环境变量的太基础,太没意思这里就不写咯。

然后你能得到Hello.class字节码文件,这里插个题外话,怎么看他的支持jdk版本呢?

hexdump Hello.class

这个hexdump就不用全路径咯,在操作系统预装的时候就有的Path路径里面,
然后主要看前几个16进制数feca beba 0000 3300,32表示jdk1.6,33jdk1.7…依次类推(中间有没有条我就不知道了,可以自己看看openjdk的相关说明,oracle应该也有,不过这混蛋最近收费了,反正本人比较low,确信有生之年用不到他的收费api),cafe babe为魔数,这里反了应该是大小端字节序的问题,然后33的能跑32,32的不能跑33,简而言之向下兼容向上不兼容。
然后就是运行了
直接

java Hello

肯定是跑不起来的,会抛出ClassNotFoundException,
正确的应该是这样的:

java -cp ${groovy-version.jar的路径,version为你的版本号} Hello

因为这个虽然是标准的字节码但是用的不是java的编译器(反正现在一堆jdk可跑的语言都是相似的自己重写编译器,但是字节码还是标准的字节码,然后就能互相调用了),在编译的时候加了一些另外的类到里面,有兴趣的可以反编译看看(是不是很高端不用jdgui或者luyten或者其他的?又不需要源码!汇编比较直观在这里插入图片描述)

javap -v Hello.class

当然了这里只用了一小部分功能,还有其他有些功能需要附加其他的jar包的,总之
这是个很神奇的语言,还能用注解修改AST的语法树的,比较高端,没玩过,虽然一般基本上用不上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值