Java基础知识总结(一)
1、Java的分类
(1)标准版,Java Sandard Edition,简称“J2SE”,可用来写Applet,可用来写脱离浏览器、独立运行的程序(Application)。对一个语言来说,比较基础和比较标准的模。05年版本5.0发布后改名为Java SE。
(2)企业版,“J2EE”,主要提供服务器端编程的能力。05年版本5.0发布后后来改名为Java EE。
(3)微型版,主要提供了在一些资源受限的平台上运行Java的能力,例如手机。05年版本5.0发布后后来改名为Java ME。
2、Java语言的特点
(1)纯面向对象
对比C++,C++也是一种面向对象的语言,写程序可以采用面向对像的形式,也可以采用面向过程、面向模板等多种方式。
Java是非常纯粹的面向对象的语言,只能采用面向对象的方式进行编程。
(2)简单和复杂
1>Java的简单性
A.Java语言本身的特点非常简单,没有复杂和晦涩的语法细节。
B.Java语言倾向于让程序员简洁清晰的完成任务。
2>Java的复杂性
A.Java语言本身虽然非常简单,但是有大量强大而扎实的类库,这些类库极大地丰富了Java语言的特性。
B.Java语言最主要的阵地在于企业应用,企业应用涉及到多线程、分布式、数据库、网络等各种各样的领域,所以需求非常复杂,为了应对这些复杂性,Java语言也提供了各种对应的特性。
(3)开放性
免费和开源,同时也促进了Java语言的发展和推广。
(4)跨平台性
Java能够轻快的在桌面应用上运行,也能扎实稳定的在企业级操作系统中运行。
3、Java的运行机制
(1)相关知识
1>计算机高级语言
人为的规定一些语法,在遵循这些语法的前提下,编写一个文本文件,然后利用某种方式,将编写的文本文件转化为机器指令进行执行。现在所谓的编程,实际上指的就是编写文本文件这个部分,我们称这个文本文件为“源文件”。
2>现代计算机语言中,将源文件转化为机器指令执行的方式
A.编译型
编译型语言:通过一个编译器软件,将源文件转化为可执行文件。可执行文件内容是一些机器指令和一些相关数据。Windows中,可执行文件常常以.exe作为后缀名。
执行过程:执行程序时,只需要执行可执行文件,不需要源代码文件。过程为:源文件---解释器--->可执行文件 可执行文件--->机器指令
B.解释型
解释型语言:需要一个解释器软件,解释器软件会读源文件,且在读源文件过程中同时完成将源文件内容翻译成机器指令以及执行的过程。
过程:解释器将读取源文件、翻译成机器指令、执行指令三步通道同时完成。即:文本文件---解释器--->直接翻译为机器指令。
C.编译型语言与解释型语言的比较
a.运行效率:解释型语言远不如编译型语言
编译型语言在将源文件编译成可执行文件后,运行程序只需要可执行文件,不需要再重复编译。
解释型语言每次运行必须重复编译源文件。
b.跨平台性:解释型语言相对较好
编译型语言运行时只需要可执行文件,但是可执行文件与平台紧密相连,所以,对于不同的平台需要有不同的可执行文件。
解释型语言对于不同的平台只需要有不同的解释器即可,源代码几乎不用修改。
3>.class文件
A.生成
.java源文件通过编译器编译生成.class文件,.class文件被称为“二进制字节码文件”。
B.执行
.class文件并不能直接在机器上运行。执行.class文件需要一个解释器,解释器将.class文件中的指令翻译成真正机器上的指令。
过程:.java源文件---编译--->.class字节码文件---解释执行--->真正的机器指令
C.特点
.clss文件与运行平台无关,运行在不同平台上的.class文件内容相同,所以.class字节码文件是中立的。
D.内容
.class文件里保存的是一些虚拟指令,虚拟指令不是真正的计算机指令,类似于真正的汇编语言指令,但是与底层的操作系统平台和硬件平台无关,在执行这些虚拟指令时需要Java虚拟机(Java Virtual Machine,简称“JVM”)将虚拟指令转换成真正的计算机指令。
4>Java虚拟机(JVM)
A.特点
Java虚拟机接收.class文件中的虚拟指令,不同平台下的虚拟机,将.class文件中的虚拟指令翻译成对应平台上的真正的计算机指令。
B.作用
屏蔽了不同底层平台的差异:JVM事实上是一个软件,它为Java程序模拟出一个统一的运行环境,Java程序只需要适应这个环境,而与底层的操作系统环境和硬件环境无关。
(2)运行机制
1>运行机制
先编译,后解释。这种机制使得Java语言既有编译型语言的高效性有具有解释型语言的跨平台性。
2>运行过程
.Java源文件---编译--->.class字节码文件---在JVM中解释执行--->真正的机器指令。
(3)运行工具
1>运行程序
运行程序指的是运行.class文件。同样发布Java程序,一般来说,发布的也是.class文件。
2>JRE
JRE(Java Runtime Environment),指的是Java的运行环境,包括JVM和Java解释器。
作用:只能完成.class文件到真正的机器指令这一步,但无法将源文件编译成.class文件
3>JDK
JDK(Java Development Kit),Java开发工具包。JDK = JRE + 工具(编译器、解释器、其它工具等) + 类库。
4、Java的环境变量的配置
(1)JAVA_HOME
表示Java的安装目录,作用是告诉操作系统Java的安装路径。当其他的应用程序(例如一些Java的服务器、Java的数据库客户端等)需要Java支持时,会通过JAVA_HOME环境变量来寻找Java的安装路径。
(2)PATH
作用是在命令行输入Java命令时,指示操作系统去哪个路径下寻找Java的相关程序。往往会把PATH变量配置成Java的安装路径/bin目录。
(3)CLASS_PATH
作用是指示编译器和JVM去哪个目录去寻找.class文件。设置CLASSPATH环境变量时,指定一些目录,让JVM寻找.class文件时,只需要寻找我们指定的目录即可。