一、Java如何实现的平台无关性
平台无关(跨平台): 一种语言在计算机上的运行不受平台的约束,一次编译到处运行。
Java经过编译之后生成的.class 的字节码文件,运行平台上只要有JVM就能运行,不需要进行再次编译。用Java创建的可执行二进制程序,能够不加改变的运行于多个平台
在Java平台中,想要把Java文件,编译成二进制文件,需要经过两步编译,前端编译和后端编译:Java创建的可执行二进制程序,能够不加改变的运行于多个平台。
image.png后端编译主要是将中间代码再翻译成机器语言。Java中,这一步骤就是Java虚拟机来执行的。
image.png image.png
image.pngwindows、mac、Linux中的jdk版本不同
二、JVM还支持哪些语言(Kotlin、Groovy、JRuby、Jython、Scala)
Java独具匠心的提供了一种可以在所有平台上都能使用的一种中间代码——字节码(ByteCode)。有了字节码,无论是哪种平台(如Windows、Linux等),只要安装了虚拟机,都可以直接运行字节码。目前Java虚拟机已经可以支持很多除Java语言以外的语言了,如Kotlin、Groovy、JRuby、Jython、Scala等。之所以可以支持,就是因为这些语言也可以被编译成字节码。
网友评论