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

1 篇文章 0 订阅
1 篇文章 0 订阅

既然比较不同,先要了解两种语言的编译过程

首先看先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将我们本来在代码层做的一些封装工作转移到了编译后端阶段,使得语言更加简洁





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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值