java是平台无关的语言是指用java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。c和c++具有一定程度的源代码级平台无关,表明用c或c++写的应用程序不用修改只需重新编译就可以在不同平台上运行。
java主要靠java虚拟机在目标码级实现平台无关性。jvm是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。但jvm通常是在软件上而不是在硬件上实现。jvm是java平台无关的基础,在jvm上,有一个java解释器用来解释java编译器编译后的程序。java编程人员在编写完软件后,通过java编译器将java源程序编译为jvm的字节代码。任何一台机器只要配备了java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。另外,java采用的是基于ieee标准的数据类型。通过jvm保证数据类型的一致性,也确保了java的平台无关性。



