重温Java基础(一)

目录

1.Java名的来源

2.Java的特点

3.JDK

4.Java应用程序

5.反编译

6.编程风格

7.Java之父-James Gosling


1.Java名的来源

印度尼西亚有一个重要的盛产咖啡的岛屿叫Java,中文译名为爪哇,开发人员为这种新的语言起名为Java,其寓意是为世人端上一杯热咖啡。所以我们可以看到Java的图标是一杯咖啡的形状。

2.Java的特点

Java是目前使用最为广泛的网络编程语言之一,它具有语法简单,面向对象,稳定,与平台无关,多线程,动态等特点,而平台无关是Java最初风靡世界的最重要的原因。

与平台无关:

Java之所以能做到这一点,是因为Java可以在计算机的操作系统之上再提供一个Java运行环境(Java Runtime Enviroment,JRE)。该运行环境由Java虚拟机(Java Virtual Machine,JVM)、类库以及一些核心文件组成,也就是说,只要平台提供了Java运行环境,Java编写的软件就能在其上运行。

这里所指的平台是由操作系统(OS)和处理器(CPU)所构成。与平台无关是指软件的运行不因操作系统,处理器的变化而无法运行或出现运行错误。每一个平台都会形成自己独特的机器指令,相同的CPU和不同的操作系统所形成的平台的机器指令是不同的。

Java虚拟机的核心是所谓的字节指令,即可以被Java虚拟机直接识别、执行的一种由0、1组成的序列代码。字节码并不是机器指令,因为它不和特定的平台相关,不能被任何平台直接识别、执行。Java针对不同平台提供的Java虚拟机的字节码指令都是相同的。例如所有的虚拟机都将11110000识别、执行为加法操作。虚拟机负责将字节码翻译成虚拟机所在平台的机器码,并让当前平台运行该机器码。

3.JDK

Java运行环境:即运行Java程序的平台

Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)三个版本。

其中JavaEE平台包含了Java SE 平台,并增加了附加类库。

JDK(Java Development kit)的主要内容如下:

  • Java运行环境 JRE(Java Runtime Environment):位于jre子目录中。Java运行环境包括Java虚拟机,类库以及其他支持执行以Java编程语言编写的程序文件。在jre牡蛎里面有两个文件夹bin和lib,可以认为bin里面就是JVM,lib中则是JVM工作所需的类库。
  • 开发工具:位于bin子目录中。指工具和实用程序,可以帮助开发,执行,调试以及Java编程语言编写的程序。例如,编辑器javac.exe和解释器java.exe都位于该目录中。
  • 附加库:位于lib子目录中,开发工具所需的其他类库和支持文件
  • C头文件:位于include子目录中,支持使用Java本机界面,JVM工具界面以及Java平台的其他功能进行本机代码编程的头文件。
  • 源代码:位于JDK安装目录之根目录的src.zip文件是Java核心API的所有类的Java编程语言源文件。

如果一个平台只想运行Java程序,可以只安装JRE。JRE由JVM、Java的核心类以及一些支持文件组成。

4.Java应用程序

开发一个Java程序需经过三个步骤:编写源文件、编译源文件生成字节码和加载运行字节码。

Java编译器(Javac.exe)编译源文件,得到字节码文件。

Java解释器(Java.exe)来解释执行字节码文件。

编译和解释的区别:

编译程序为高级服务,是将高级语言书写的源程序翻译与之等价的低级语言的目标程序。编译程序与解释程序最大的区别之一在于前者生成目标代码,而后者不生成。前者产生的目标代码的执行速度比解释程序执行速度要快,后者人机交互好。

(1)编译程序是整体编译完,再一次性执行(在java中编译后的目标代码就是字节码文件)

(2)解释程序是一边解释,一边执行

编译好比做文章翻译,编译后的目标代码好比翻译后文章。而解释好比是口头翻译,说一句翻译一句,是没有目标产物的。

源文件:

源文件是由若干个书写形式互相独立的类组成。如果源文件中有多个类,那么只能有一个类是public类,如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是java;如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是java就可以了。

一个Java程序必须有一个类含有public static void main(String args[])方法,陈这个类是应用程序的主类。

一个有public修饰符的类不一定有main方法,也可以这样说主类的修饰符不一定是public,所以主类名不一定跟源文件名一样。

字节码文件:

如果源文件中包含多个类,编译源文件将生成多个扩展名为.class的文件,每个扩展名是.class的文件中只存放一个类的字节码,其中文件名与该类的名字相同。这些字节码文件被存放在与源文件相同的目录中。

当使用Java解释器运行应用程序时,Java虚拟机首先将程序需要的字节码文件加载到内存,然后解释执行字节码文件。

5.反编译

所谓的反编译,就是把编译器得到的字节码文件还原为源文件。反编译器是:javap.exe

在命令行窗口中的命令是:javap Hello.class

6.编程风格

Allmans风格也称“独行”风格,即左,右大括号各自独占一行。

Kernighan风格也称“行尾”风格,即左大括号在上一行的行尾,而右大括号独占一行。

7.Java之父-James Gosling

猜你喜欢

转载自blog.csdn.net/Doctor_LY/article/details/81592463