究竟什么是跨平台,JAVA又是怎么实现跨平台的?
对于像C。C++这种高级语言。它们的编译器(比如。Windows以下的CL命令;Unix以下的CC命令)将源代码直接编译成计算机能够理解的机器码,如exe。dll之类的文件,然后直接执行。
java源程序(.java文件)通过编译器编译成为Class文件(字节码文件),而它的class文件是基于字节码(以byte为单位存储的文件)的,而字节码文件是描写叙述程序要执行的的虚指令的集合,这些虚指令的集合与不论什么的平台无关。Java虚拟机认识它,Java虚拟机将它翻译为相应的OS指令就好了!
(仅仅要在不同的平台下部署相应的jre,执行jvm。将这些虚指令编码翻译为相应操作系统的汇编指令信息,就可以在相应的OS上调用执行。)