零基础学Java第2版
上QQ阅读APP看书,第一时间看更新

7.1 JDK 5和JDK 6特性

本节介绍什么是JDK,以及Java开发工具集中两个不同的JDK版本。本节的讲解比较简单,有兴趣深入学习的读者可查看其他的相关书籍。

7.1.1 什么是JDK

JDK即Java开发工具包(Java Development Kit, JDK),JDK是Sun公司免费提供的Java语言工具,是Java应用程序开发的基础。通常第三方开发工具“JBuilder9.0”、“IBM VisualAge for Java”等都是基于JDK进行开发。

7.1.2 JDK 5的特点

JDK 5其实就是JDK1.5,JDK1.5(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,包括泛型、for-each循环、自动装包/拆包、枚举、可变参数、静态导入。

使用这些特性有助于编写更加清晰、精悍、安全的代码。下面简单介绍一下这些新特性。

❑泛型(Generic)

C++通过模板技术可以指定集合的元素类型,而Java在1.5之前一直没有相对应的功能。在C++中,一个集合可以存放任何类型的对象,相应地从集合里面拿对象的时候,也不得不对它们进行强制的类型转换。JDK1.5引入了泛型,并且允许指定集合里元素的类型,这样可得到强类型在编译时刻进行类型检查的好处。

❑for-each循环

for-each循环的加入简化了集合的遍历。

❑自动装包/拆包(Autoboxing/unboxing)

自动装包/拆包大大方便了基本类型数据和其包装类的使用。自动装包就是基本类型自动转为包装类。自动拆包就是包装类自动转为基本类型。在JDK1.5之前,总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制解决了问题。

❑枚举(Enums)

JDK1.5加入了一个全新类型的“类”—枚举类型。

❑可变参数(Varargs)

可变参数的出现,使程序员可以声明一个接受可变参数数目的方法。

注意

可变参数必须是函数声明中的最后一个参数。

❑静态导入(Static Imports)

要使用静态成员(方法和变量),必须给出提供这个方法的类。使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,从而在使用这些静态成员时无须再给出它们的类名。

7.1.3 JDK 6的特点

浏览了JDK6的新特性,感觉“Compiler API”的应用有很大空间。JDK6提供对代码的编译功能,可以实现代码编辑、编译及加载运行,可以在系统运行中动态配置和扩展用户自定义的功能,甚至可以把Java语句作为脚本,内嵌到原有系统中扩充功能集。

7.1.4 JDK 5与JDK 6的比较

2006年底,Sun公司发布了Java Standard Edition 6(Java SE 6)的最终正式版,代号“Mustang (野马)”,跟“Tiger(Java SE 5)”相比,“Mustang”在性能方面有了不错的提升。从与“Tiger”在API类库的比较来讲,有了大幅度加强,虽然“Mustang”在API库方面的新特性显得不太多,但其提供了许多实用和方便的功能:在脚本、Web Service、XML、编译器API数据库、JMX、网络方面都有不错的新特性和功能加强。

说明

随着不断的发展和进步,相信JDK 6会有不错的表现,但目前公司最通用的是JDK 5。