java运行机制、Jdk版本及Java环境变量

一、语言特性

  计算机高级语言按程序的执行方式可分为:编译型和解释型两种。编译型的语言是指使用专门的编译器,针对特定的平台(操作系统)一次性翻译成被该平台硬件执行的机器码,并包装成该平台可执行性程序文件(.exe,.sh,.bat等),编译型的语言有C、C++等;解释型的语言是指使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行,可以认为每次执行解释型语言的程序都要进行一次编译。

  Java是一种特殊的高级语言,既有解释型语言的特点,也有编译型语言的特点。Java编写的程序需要经过编译步骤,但该步骤不会生成特定平台的机器码,而是生成一个与平台无关的字节码(.class)文件,这种字节码文件不是可执行性的,需要Java解释器来解释执行,也就是Java虚拟机(也叫JVM)。所以Java具有良好的跨平台特性。

二、JDK版本

  JDK的全称为Java SE Development Kit,即Java标准开发包,包括Java编译器、Java运行环境,以及常用Java类库。Java运行环境全称为Java Runtime Environment,简称JRE,JRE不仅仅包含JVM、其他运行Java程序的环境支持,还有类加载器、字节码校验器以及大量的基础类库。

  JDK1.0版本包含运行环境(JRE)和开发环境,其中JRE包括了核心API、集成API、用户界面API、发布技术、Java虚拟机五部分,开发环境还包括了编译Java程序的编译器(即javac命令);

  JDK1.1增加了JIT(即时编译)编译器,将常用的指令保存在内存中,下次调用时就不需要重新编译,提升了JDK的效率;

  JDK1.2(Java历史上最重要的JDK版本)发布了JSP/Servlet、EJB等规范,并分成J2EE、J2SE和J2ME三个版本,此外还把它的API分成三类:核心API(所有Java平台都提供)、可选API(因平台不同而不同)、特殊API(用于JCA和JCE的第三方加密类库);

  JDK1.4(Java历史上最成熟的版本),大量的开源框架和应用服务器涌现。

  JDK1.5改名为JavaSE5.0,J2EE和J2ME也相应改为JavaEE和JavaME,增加了增强的for语句、泛型、可变数目的参数、类型安全的枚举、自动拆箱和装箱等功能,同时也发布了新的企业级平台规范,如:EJB3.0规范、MVC框架JSF。

  JDK1.6新增特性:使用JAXB2来实现对象与XML之间的映射、使用Compiler API、轻量级Http Server API、插入式注解处理API、Common Annotations等。

  JDK1.7新增特性:switch中可以使用字串、泛型实例化类型自动推断、语法上支持集合、安全的加减乘除、两个char间的equals、Boolean类型反转,空指针安全,参与位运算等。

三、Java环境变量

  安装JDK后,需要设置环境变量,其中windows设置:

  ①新建JAVA_HOME,变量值为: C:\Program Files\Java\jdk1.6.0_10(JDK安装目录)

  ②新建CLASSPATH,变量值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; 

  ③新建Path,变量值为:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;