2. 跨平台的Java语言 大家知道了什么是高级编程语言,而且也懂了高级语言的开发流程。这些还不是完全的Java做法,呵呵。毕竟前面只解释了定义的第一句,说明了Java是个高级编程语言。后面还有Java的一些特性介绍,诸如跨平台、面向对象等等。这一段来讲Java的跨平台特性。 平台就是计算机软硬件环境的总称。软件方面主要有Windows、Linux、Solaris和MacOS等平台,硬件有诸如英特尔的x86、IBM的PowerPC等。知道了平台的概念,就不难理解什么是跨平台了。跨平台就是指一个程序可以在不止一个平台上运行。Java的跨平台特性是做得很出色的,已经基本实现了当初的口号:一次编译,到处运行。 Java这么好的跨平台性是怎么做到的呢?它是通过在各平台上实现一个统一的Java虚拟机来做到的。Java的程序代码经过Java编译器的编译之后,就得到了和源代码相对应的字节码文件。Java虚拟机可以直接执行这样的字节码,就像是程序直接在计算机上运行一样。只要在各种平台上都具备一个Java的虚拟机,就能够运行你编译好的Java程序。 这样一来,在任何平台上编写并运行Java程序就变得一样方便了。有关平台的差异性已经和Java程序员无关了,不同平台上Java虚拟机能执行的Java字节码是不变。Java虚拟机的设计很好的消除了不同平台间的差异性,使Java的程序可以拿到任何平台上运行。 不过要注意的是,实现“一次编译,到处运行”只是一个理想啦,实际上并没有完全做到这么酷。至少我们的程序代码可以拿到各个平台上编译之后运行的。Java虚拟机(Java Virtual Machine,简称为JVM),图1.3说明了Java字节码,JVM和各平台之间的关系。
从图1.3中可以看到,JVM处于Java编译后的字节码与平台之间。它的上层与Java字节码间是统一的接口,下层可以是各种各样不同的平台。这样通过JVM,Java语言就实现了很好的跨平台性能。能够让编译好的Java程序在各平台上运行出相同的结果。 到此为止,知道了Java是一种计算机编程语言。它有很好的跨平台特性,其它特性现在大家不懂也没关系,我们会在后面相关章节的内容中作出说明。现在大家只要简单地认识一下Java就可以了,以后会慢慢熟悉它的,不要心急。
|