JAVA的跨平台性:
java源程序通过javac编译器编译成一个二进制的.class字节码文件(java的跨平台性就是指的.class文件的跨平台性,该文件是与平台无关的)。.class文件再运行在JVM上,JVM将其翻译成二进制的机器码文件,再进行执行。所以java所谓的跨平台就是在不同的平台上安装了不同的JVM,而在不同的平台上生成相同的.class文件,而.class文件再通过对应平台的JVM解释成对应平台的机器码执行
机器码与字节码的区别?
机器码简而言之就是给机器读的二进制代码
字节码是java语言专有的,来给JVM来读的二进制代码,虽然二者都是二进制代码,执行环境不同,所以存在指令集上的区别