前言
kotlin是一门蒸蒸日上的语言,其各种简洁的语言风格,高级的语法糖让一些开发者爱慕不已,但也让一些初学者望而却步。目前除了jvm平台,kotlin已经能运行于各种环境。相信绝大部分开发者都是通过java了解的kotlin,kotlin也基本用于jvm平台,那就先聊聊JVM上的kotlin吧。
几个问题
1.Kotlin为何能运行于JVM虚拟机
先看看java是如何运行于jvm虚拟机上的
- 编写java代码 -- Demo.java
- 编译器将你写的Demo.java编译成class文件,也就是字节码 -- Demo.class
- jvm虚拟机使用类加载器加载字节码
- jvm虚拟机执行字节码
kotlin是怎样的流程呢?
- 编写kt代码 -- Demo.kt
- 编译器将你写的Demo.kt编译成class文件,也就是字节码 -- DemoKt.class
- jvm虚拟机使用类加载器加载字节码
- jvm虚拟机执行字节码
可以发现,流程与java几乎完全相同,为了避免同名,给编译后的文件加了一个Kt。
2.Kotlin和Java都运行于JVM虚拟机,为什么Koltin比Java简洁那么多,还有各种黑魔法、语法糖
这都归功于编译器,kotlin编译器能够将简洁的kotlin代码编译成字节码,反编译回java代码后会发现,kotlin在jvm平台的表现与java并无本质区别,只是编译器帮我们将用java写相对复杂的方法通过在kotlin中增加个别关键字、定义某些默认实现、增加常用的库函数等方式,简化了而已。
3.Kotlin的编译效率和运行效率与Java相比怎么样
kotlin编译效率低于java,毕竟那么多黑魔法都需要编译器的支持和转换
kotlin的运行效率与java相差不大,毕竟在jvm中运行的都是字节码,jvm并不管你是java来的还是kotlin。
4.Kotlin的学习需要Java基础吗
有java基础的话,学习kotlin必然事半功倍,如果没有java基础,建议先学好java
5.如何快速入门Kotlin
-
1.借住神器IDEA
自带反编译工具,帮你实时查看字节码和反编译后的java代码 -
2.官方文档
查看接口,区别于Java的新定义 -
3.多使用kotlin
熟能生巧,不自己操作谁都没法迅速进步
后面想到在写吧
网友评论