Java-Groovy 与Java区别
确切的说是JVM语言和Java的区别到底在哪里?以Groovy为例,既然Groovy最后也编译为字节码,那么使用它比使用Java的优势在哪里?仅仅是Groovy提供了更易用的语法么?如果用Groovy和Java分别写一段功能相同的程序,在字节码这一层,两者有什么具体的区别呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
区别:java是编译性语言,就是得编译后才能运行。groovy语言是动态语言。你可以看下这篇文章。
groovy最开始的定位是以脚本语言出现的(虽然现在groovy厉害了,也有了高级编程的特性,这个暂且不论),java 从6开始,正式支持了很多的脚本的语言.
1,你说的没有错.在字节码这一层面,任何脚本语言与java本身的语言,没有任何区别,都属于同一种基于栈的指令集,再有jvm转成基于寄存器的指令集,才处理上运行.换句话说,其实JVM很傻,他不认识任何语言,它只认识那个栈指令集(最新的java部分代码也可能直接执行,不再解释执行,这个暂且不讨论).
2,脚本语言距离jvm其实很远,不如java那样是亲生的,有很多优化待遇.脚本语言必须要经过java自带的脚本引擎进行解释,才能到达jvm那一层.这在效率上就低了一层,在原生上,也差了一层.
3.脚本语言,一般都很犀利无比,具有天生的简洁快速的优点.要多变可扩展,就用脚本,要效率,还是java.但是groovy现在已经很模糊了,我不敢擅自评论