在java出现之前就已经存在了很多优秀的编程语言,比如C/C++编程语言等,那么是什么原因导致了java的出现呢?java相对于其他优秀的编程语言,比如C/C++等,有什么特殊的优势呢?
java相对于其他的编程语言最大的优势就是其平台无关性,即跨平台性。这也是java为什么能够迅速风靡全球的原因。
无论什么编程语言编写的程序,都需要操作系统和处理器来完成对程序的运行。因此这里所指的平台便由操作系统和处理器所构成。与平台无关是指软件的运行不因操作系统或处理器的变化导致软件无法运行或出现运行错误。
像C/C++等编程语言,对平台比较具有依赖性。C/C++语言提供的编译器对C/C++源程序进行编译时,将针对当前源程序所在的特定的平台进行编译和连接,生成机器指令。即根据当前的平台的机器指令生成机器码文件(可执行文件),这样一来,就无法保证C/C++编译器所产生的可执行文件在所有的平台上都能正确的被运行。这是因为不同平台可能拥有不同的机器指令。
而java语言则不依赖平台。这是因为java可以在平台之上再提供一个java运行环境(JRE)。该java运行环境由java虚拟机,类库以及一些核心文件组成。Java虚拟机的核心是所谓的字节码指令,即可以被java虚拟机直接识别,执行的一种由0和1组成的序列代码。字节码并不是机器指令,因为他不和特定的平台有关,不能被任何平台直接识别,执行。java针对不同的平台提供的Java虚拟机字节码指令都是相同的。因此java语言不依赖平台。