您的位置:首页 > 编程语言 > Java开发

关于Kotlin和java的编译过程异同的分析

2017-06-09 10:26 399 查看
既然比较不同,先要了解两种语言的编译过程

首先看先Kotlin的编译过程,推荐如下链接:

http://shinelw.com/2017/03/19/kotlin-compiler-process-analysis/

接下来看下大家比较熟悉的Java的编译过程,推荐如下链接:

http://blog.csdn.net/cutesource/article/details/5904542

关于两者的编译速度,可以参考以下文章:

原文:https://medium.com/keepsafe-engineering/kotlin-vs-java-compilation-speed-e6c174b39b5d

译文:http://www.oschina.net/news/79604/kotlin-vs-java

看了文章以后大家应该会了解一下两者的区别了

我自己的总结如下:

两者的编译过程大致:

1词法分析

2语法分析

3语义分析

4中间代码生成

5目标代码生成

区别在于Kotlin与Java相比重要的细节在编译后端(目标代码生成)环节。

Kotlin编译器在目标代码生成环节做了很多类似于Java封装的事情,

比如自动生成Getter/Setter代码的生成、Companion转变成静态类、修改类属性为final不可继承(open修饰即可继承)等等工作。

Kotlin将我们本来在代码层做的一些封装工作转移到了编译后端阶段,使得语言更加简洁
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Kotlin java 区别 速度