美文网首页
聊聊kotlin

聊聊kotlin

作者: qiHuang112 | 来源:发表于2020-03-18 19:59 被阅读0次

前言

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
    熟能生巧,不自己操作谁都没法迅速进步

后面想到在写吧

相关文章

网友评论

      本文标题:聊聊kotlin

      本文链接:https://www.haomeiwen.com/subject/djicyhtx.html