(1)c/c++是编译成对应平台,跨平台需要使用相应的编译器重新编译
(2)java是将文件(.java)编译成字节码文件(.class),然后字节码在java虚拟机上解释成机器码
(3)字节码(.class)文件不面向任何具体平台,只面向虚拟机
(4)不同平台的虚拟机不同,但有相同的接口
(5)java语言是将文件一次编译,到处运行(只要运行的那个平台装了java虚拟机)。所以因为这个原理,c/c++的性能就比java高。
通俗的说java可以跨平台还不如说java虚拟机(jvm)跨平台,就像一个中国人到外国去,到不同的国家需要带不同的翻译,这个翻译就是虚拟机(jvm)中国人说的话就.java 文件,翻译需要把说的话翻译成相应的语言,这就是.class 文件,这样就实现了java的跨平台,只要不同的操作系统下有对应的jvm就可以说这个系统可以执行java。
相关文章教程推荐:java入门教程