美文网首页kotlin
Kotlin学习系列(一)Kotlin介绍个Java虚拟机

Kotlin学习系列(一)Kotlin介绍个Java虚拟机

作者: Fakecoder_Sunis | 来源:发表于2019-04-29 14:21 被阅读0次

本系列内容均来自《Kotlin从小白到大牛》一书,感谢作者关东升老师。

Kotlin语言设计目标

Kotlin首先被设计为用来取代Java语言。 目前主要的应用场景:

  1. 服务器端编程。 基于JavaEE的Web服务器端开发和数据库编程等。
  2. Android应用开发。 替代Java语言编写Android应用程序。

Kotlin这两种场景的应用都需要Java虚拟机( Java Virtual Machine, JVM)
此外, Kotlin还有其他的应用场景:

  1. 编译成JavaScript代码。 Kotlin代码还可以编译成JavaScript代码, 这样就可
    以应用于Web前端开发。
  2. 编译成本地( Native) 代码。 Kotlin代码还可以编译成本地( Native) 代码, 本地代码运行不再需要Java虚拟机, 类似于C语言。

Kotlin与Java虚拟机

Kotlin是依赖于Java虚拟机运行的语言

1. Java虚拟机
Java应用程序能够跨平台运行, 主要是通过Java虚拟机实现的。 如下图所示, 不同软硬件平台Java虚拟机是不同的, Java虚拟机往下是不同的操作系统和CPU, 使用或开发时需要下载不同的JRE或JDK版本。 Java虚拟机往上是Java应用程序, Java虚拟机屏蔽了不同软硬件平台, Java应用程序不需要修改, 不需要重新编译直接可以在其他平台上运行。 Java虚拟机
2. Kotlin应用程序运行过程

要了解Kotlin应用程序运行过程, 则需要先了解Java应用的运行过程。
Java程序运行过程如下图所示, 首先由Java编译器将Java源文件( *.java文件) 编译成为字节码文件( *.class文件) , 这个过程可以通过JDK( Java开发工具包) 提供的javac命令进行编译。 当运行Java字节码文件时, 由Java虚拟机中的解释器将字节码解释成为机器码去执行, 这个过程可以通过JRE( Java运行环境) 提供的java命令解释运行。

Java程序运行过程

基于Java虚拟机的Kotlin应用程序运行过程类似于Java程序运行过程, 其过程如下图所示, 首先由Kotlin编译器将Kotlin源文件( *.kt文件) 编译成为字节码文件( *Kt.class文件) , 注意这个过程中文件名会发生变化, 会增加Kt后缀, 例如:Hello.kt源文件编译后为HelloKt.class文件。 编译过程可以通过Kotlin编译器提供的kotlinc命令进行编译。 当运行Kotlin字节码文件时, 由Java解释器字节码解释成为机器码去执行, 这个过程也是通过java命令解释, 但需要Kotlin运行时库支持才能正常运行。

Kotlin基于Java虚拟机的应用程序运行过程

相关文章

网友评论

    本文标题:Kotlin学习系列(一)Kotlin介绍个Java虚拟机

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