1.什么是平台?
平台就是执行源文件的媒介,也就是计算机上,再深入一点就是操作系统+cpu。
2.什么是跨平台?
“跨平台”,指源文件的执行可忽略“平台”的差异。举个例子:同一份代码,既可以在windows上执行,又可以在linux上执行,这就是“跨平台”。
3.Java如何做到跨平台的?
因为虚拟机(JVM)。Java源码的执行,分为编译(java -c)和解释(java -jar)两步。在编译阶段,.java文件被编译为.class文件(字节码),JVM再将.class文件解释成机器码执行。通常,不同平台上都装有自己的JVM(在你安装jdk的时候,jvm就装好了),同一份.java文件,在装有JVM的linux和windows系统下,都能执行,这就是跨平台。
4.举例说明什么是“不能跨平台”?
以c语言为例,如果在代码中出现了系统调用,由于不同系统的指令集是不同的,因此,在win下可以执行的系统调用代码,到了linux下就执行不了,这就是不能跨平台。