写在前面
Koltlin本质上是基于JVM的语言,也就是说Kotlin语言编写的源码最终是生成Java字节码.class文件,在Java虚拟机上执行:
本文以Kotlin和Java的Hello World程序为例,展示如何编写编译运行Kotlin程序,以及如何利用反编译工具,了解Kotlin编译器生成的代码与Java的区别,进而了解Kotlin的机制。
- Kotlin语言支持的语法特性,是通过附加Kotlin基本库实现;
- Kotlin编写的代码可能有Kotlin编译器加入很多附加的代码,以在Java平台上实现Kotlin语言特性;
- Kotlin生成的Hello World程序字节码大小有957KB,Java编写的代码大小有423KB;
Kotlin的Hello Word
新建hello.kt文件,输入以下代码:
fun main(args: Array<String>) {
println("Hello,World!")
}
编译并执行:
// 仅仅编译hello.kt,不带kotlin运行库,产生HelloKt.class
kotlinc hello.kt -d D:\kotlin_code
// 引入运行时jar包以及HelloKt.class的目录,运行
kotlin -cp D:

本文对比了Kotlin和Java的Hello World程序,展示了Kotlin如何生成字节码文件,以及如何使用JD-GUI反编译查看。分析发现Kotlin编译后的HelloKt.class文件大小为957KB,而Java的Hello.class文件为423KB。反编译结果显示,Kotlin编译器可能会添加额外代码以实现其语言特性。
最低0.47元/天 解锁文章
2029

被折叠的 条评论
为什么被折叠?



