Java 跨平台原理
跨平台定义
首先跨平台指的是基于源代码的跨平台;也就是说,只写一套代码,但是在各个平台如 Windows、Linux、Unix、Mac上都能顺利运行,这就是跨平台。
我们知道 Java 是运行在虚拟机里面的,不管你的服务器是 windows 系统还是 Linux 系统,只要在各个平台上面安装 Java 虚拟机,那么就可以愉快的运行 Java代码,所以说 Java 是平台无关的语言即可跨平台。
然而 C&C++ 语言,他们是平台有关的语言,我们在 Windows 系统下面编写好了代码,运行的很快乐,但是拿到 Linux 系统运行却不一定能成功可能报错。
Java 跨平台原理
-
Java 源程序(.java文件)要先编译成与平台无关的字节码文件(.class文件),然后字节码文件再解释成机器码运行。解释是通过 Java 虚拟机来执行的
-
字节码文件(.class文件)不面向任何具体平台,只面向虚拟机
-
Java 虚拟机是可运行 Java 字节码文件的虚拟计算机。不同平台的虚拟机是不同的,但它们都提供了相同的接口
-
Java 语言具有一次编译,到处运行的特点。就是说编译后的字节码文件 (.class文件) 可以跨平台运行,前提是该平台已经安装有相应的 Java 虚拟机
-
Java 的跨平台原理决定了其性能没有C/C++高