JAVA语言平台无关性

532 阅读1分钟

Java语言通过字节码和Java虚拟机(JVM)来实现语言的跨平台特性,屏蔽了操作系统和硬件的细节,这也是实现“一次编译,到处运行”的基础。

比如说Windows平台和Linux平台都有相应的JDK,安装好JDK后就有了Java语言的运行环境。其实Java语言本身和其他语言并没有特别大差异,并不是说Java语言可以跨平台,而是在不同平台都有可以让Java语言运行的环境而已。

程序从源码到运行的三阶段:编码--编译--运行--调试。首先将Java源代码转化成.class文件字节码,.class文件就是可以到处运行的文件。在运行时,JVM会通过类加载器(Class-Loader)加载字节码,进行解释执行(使用解释器逐条读入,逐条解释运行)或者编译执行(Java将热点代码编译成机器码,就是编译执行)。

解释执行适合于对启动速度敏感的应用,如普通Java桌面应用;编译执行适合于长时间运行的服务器端应用。

Java是解释执行。