使用Java之前,我们要先弄清楚Java语言和Java平台之间的区别。然而,有时候不同的作者对语言和平台的构成会有不同的定义,所以人们有时不太清楚两者之间的区别,分不清是语言还是平台提供了代码使用的编程特性。
因为本书的大部分内容都需要你理解两者的区别,所以这里需要说明一下。以下是我们给出的定义。
Java语言
在“关于本书”中,我们提到Java语言是静态类型、面向对象的语言,希望你对这种说法已经非常熟悉了。Java语言还有一个非常明显的特点,它是(或者说应该是)人类可读的。
Java平台
平台是提供运行时环境的软件。Java虚拟机(JVM)负责把类文件形式(人类不可读)的代码链接起来并执行。JVM不能直接解释Java语言的源文件,你要先把源文件转换成类文件。
Java作为软件系统之所以能成功,主要因为它是一种标准。也就是说,它有规范文件描述它应该如何工作。不同的厂商或项目组可以据此推出自己的实现,这些不同实现的工作方式在理论上是相同的。规范虽然不能保证这些实现处理同一任务时表现如何,但可以保证处理结果的正确性。
控制Java系统的规范有多种,其中最重要的是《Java语言规范》(JLS)和《JVM规范》(VMSpec)。在Java 7中,这两者之间的界限愈发清晰。实际上,VMSpec不再引用JLS中的任何内容,如果你认为这是Java 7重视Java之外其他语言的信号,说明你有见微知著的能力!希望你能继续关注,接下来我们会更加深入地探讨这两个规范之间的差别。
提到Java的双重角色,你自然想问:“它们两者之间还有什么关联吗?”如果它们在Java 7中如此泾渭分明,又是如何共同形成我们所熟悉的Java系统的呢?
连接Java语言和平台之间的纽带是统一的类文件(即.class文件)格式定义。认真研究类文件的定义能让你获益匪浅,这是优秀Java程序员向伟大Java程序员转变的一个途径。图展示了产生和使用Java代码的整个过程。
以上就是学习JAVA语言的基础的知识点,希望我们整理的内容能帮助到大家。