Java常见名词解释

Posted higurashi-kagome

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java常见名词解释相关的知识,希望对你有一定的参考价值。

参考:《Java核心技术第10版》,《Java入门123》

 

技术图片

 

 

 

Java2:
Java 2这种提法始于1998年。当时Sun公司的销售人员感觉增加小数点后面的数值 改变版本号并没有反映出JDK 1.2的重大改进。但是,由于在发布之后才意识到这个问题,所以决定开发工具包的版本号仍然沿用1.2,接下来的版本是1.3、1.4和 5.0。但是,Java平台被重新命名为Java 2。因此,就有了Java 2 Standard Edition Software Development Kit(Java 2标准版软件开发包)的5.0版,即 J2SE SDK 5.0。 幸运的是,2006年版本号得到简化。Java标准版的下一个版本取名为Java SE 6, 后来又有了Java SE 7和Java SE 8。不过,“内部”版本号分别是1.6.0、1.7.0和1.8.0。
 
Update:
当Oracle为解决一些紧急问题做出某些微小的版本改变时,将其称为更新。例如: Java SE 8u31是Java SE 8的第31次更新,它的内部版本号是1.8.0_31。更新不 需要安装在前一个版本上,它会包含整个JDK的最新版本。另外,并不是所有更新都 公开发布,所以如果“更新31”之后没有“更新32”,你也不用惊慌。。
 
JRE:
Java运行时环境(Java Runtime Environment,JRE),运行Java程序的用户使用的软件,它包含虚拟机但不包含编译器。这并不是开发者想要的环境,而是专门为不需要编译器的用户而提供。
 
 

JDK和Java平台:
JDK是Java Development Kit的缩写。是编写Java程序的程序员使用的软件。有点混乱的是:这个工具包的版本1.2~版本1.4被称为Java SDK(软件开发包,Software Development Kit)。在某些场合下,还可以看到这个过时的术语。
JDK是整个Java世界的基础,有时也被称为Java平台。为什么称之为Java世界的基础呢?因为编写Java程序就是使用Java构建一个自己的世界,但是构建一个世界肯定需要基础,不可能完全从头开始。
在《鲁宾逊漂流记》中,鲁宾逊漂流到了一个荒无人烟的小岛,他面临的问题就是使用自己的智慧和技巧,构建一个自己可以生存的世界。编程与鲁滨逊构建自己可以生存的世界类似,我们首先需要有基础材料,然后运用个人智慧(就像鲁滨逊运用他的智慧一样),构建出程序(就像鲁滨逊制造工具)。
鲁滨逊虽然来到的是一个荒岛,但也不是什么都没有。他可以得到水、阳光、风、木头、石头、食物、植物的藤条等。
Java平台也是这样,它为我们提供了基础,可以使用这些基础来编写自己的程序,构建自己想要的世界。其中由Java编译器,Java虚拟机和Java类库(Java Class Libraries)三部分组成。

 

SDK:
Software Development Kit,一个过时的术语,用于描述1998年~2006年之间的JDK。

 

Java编译器(Java Compiler):
编译器会将一个Java源程序(java文件)转换成Java世界可以理解的物体。我们通过在命令行输入javac命令来调用Java编译器。Java编译器会检查一个源程序是否符合Java语言的语法。
可以将编译器理解为鲁宾逊所处的那个岛上的基本物理定律,如F-am、动量守恒定律、真空中光速为299792458.458米/秒、1+1-2等。这些东西是不可违背的,同时也是没有道理好讲的。在Java中类似的东西称为Java语法
在命令行通过javac命令来调用Java编译器去编译一个Java源程序时,Java编译器就会检查源程序是否符合Java语法。如果不符合,就会给出错误:如果符合,就会同时将Java源程序转换成Java世界可以理解的语言(结果就是产生了那个.class文件)。这里的class文件其实就相当于Windows里常见的可执行文件(即后缀为exe的文件)。
 
Java虚拟机(Java Vietual Machine):
Java虚拟机的作用是去执行一个Java程序(class文件)。通过在命令行使用java命令来启动Java虚拟机。
class文件就相当于可以执行的exe文件,不同的是exe文件在Windows XP上可以通过鼠标双击执行,而在这里class文件则应该通过我们前面介绍的那样,用命令行里的java命令来执行。对于class文件来说,Java虚拟机就是Windows.
 
Java类库(Java Class Libraries):
Java类库是Java提供的构建自己的Java世界的各种元素。它就相当于是鲁宾逊所在的那个岛上的一切物质:水、阳光、空气、石头、小草、泥土、椰树等。我们必须使用Java类库来构建自己的Java世界(HelloWorld程序中使用的System.out.println 就是来自Java类库)。
 
用HelloWorld程序
1 public class HelloWorld{
2     public static void main(String[] args){
3         System.out.println("Hello World");
4     }
5 }

 

展示他们之间的关系如下:

技术图片

 

在图中,整个流程可以分为3部分。
编写源程序。将自己的想法通过程序源代码的形式写到源文件中。一行行的代码就是我们构建世界的一砖一瓦。
编译源代码。将编写好的源程序转换为可以被Java平台认知的形式。如果源代码中有错误,则无法通过编译这一步。
运行程序。当得到了一个包含有main()方法的Java程序后,就可以执行它了。这时候会启动一个Java虚拟机,加载所有需要使用到的类文件,执行类文件中的代码,这时我们构建的世界才开始运转起来。

以上是关于Java常见名词解释的主要内容,如果未能解决你的问题,请参考以下文章

需要对特定 R 代码片段的解释

有人可以解释以下 R 代码片段吗? [关闭]

Alfred常见使用

有人可以解释啥是 SVN 平分算法吗?理论上和通过代码片段[重复]

java常见的基础知识

java常见的基础知识