1.什么是跨平台以及其如何实现?
相信大家看到很多JAVA书上都会说,JAVA的一大特性是可以实现跨平台,那么什么是跨平台呢?JAVA又是怎么实现的呢?
跨平台,是指java语言编写的程序,一次编译后,可以在多个系统平台上运行。
实现跨平台:Java程序是通过java虚拟机在系统平台上运行的,只要该系统可以安装相应的java虚拟机,该系统就可以运行java程序。(注意不是能在所有的平台上运行,关键是该平台是否能安装相应的虚拟机)
2.其背后的原理是什么?
Java跨平台原理:
由源文件(.java)—>字节码文件(.class)(二进制文件)-----> 解释---->Unix,Win,Linux等机器。
而这一系列的步骤就是通过JVM (JAVA虚拟机) 来进行实现的。
简单的来说,
就是当你需要执行某个Java程序时,会牵扯到JVM。具体就是我们编写的Java源码,编译后会生成一种.class文件,称为字节码文件。而Java虚拟机就是负责将字节码文件翻译成特定平台下的机器码,然后运行。
如下图
由此可知,JAVA的编译和执行与JVM有关,与平台无关。
而JVM分为很多个系统的版本,如Windows,Linux,macOS等等,都有其对应的JVM。
因此,
如果我们想要编译和执行编写好的Java程序,只需要在不同平台上安装其对应的JVM就行了。
如下图
同时这也就是Java有着跨平台性良好,平台无关这些特性的来历。