JAVA的平台无关性是JAVA语言应用与网络的一个特性。
计算机中编译执行也可以在UNIX系统下编译执行。因此和计算机平台无关。
那JAVA是怎么实现的呢?
这就引入了JAVA虚拟机,其实所用的消除异构的方法就是让所有的计算机有一个都可识别而且可以运行的平台。JAVA虚拟机有很多材料上说是一个虚拟的计算机,可以用软件实现硬件的功能。我个人理解的JAVA虚拟机类似与网络的ISO/OSI协议的透明性。通过给每台要运行JAVA程序的机器安装一个JAVA虚拟机,因为JAVA虚拟机的环境一样,所以可以在任何安装JAVA虚拟机的计算机中编译运行JAVA程序。
有一点我还是不怎么明白的,JAVA虚拟机如何定义接口来实现消除异构的。我读的资料上都说是通过调用本地方法,那JAVA虚拟机知道所有的计算机的本地方法吗?在一个问题也是我不大明白的,不同的操作系统安装的JAVA虚拟机应该不一样吧?