当前jdk版本应用最广的(主流)是jdk1.7和jdk1.6,因为比较稳定了。jdk1.8最新版本1.8.655,由于优越的特性使一些开发人员初步使用,但是考虑到其向下兼容性,其他相关工具的支持,使用人员少等问题,还是没有被广泛使用!当前最新的是jdk1.9,其新特性方案虽提出,但官方还没有正式发布!
特别注意:如今网上有很多的jdk版本特性介绍,但对jdk1.7中很多特性描述都存在问题,官方文档中根本没有!
例如:final List<Integer> piDigits = [ 1,2,3,4,5,8 ]; Map map = {name:"xxx",age:18};boolean 类型的位运算等。
所以我参照官网重新总结,建议大家学习时最好自己测试下,对网上的一些总结不要盲从!
因此查看每个版本的新特性最好去官网:利用google翻译就可查看中文版。
jdk历史版本:http://www.oracle.com/technetwork/java/javase/archive-139210.html
1.5新特性 http://docs.oracle.com/javase/1.5.0/docs/relnotes/features.html
1.6新特性 http://www.oracle.com/technetwork/java/javase/features-141434.html
1.7新特性 http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html
1.8新特性 http://www.oracle.com/technetwork/java/javase/8-whats-new-2157071.html
下面对jdk1.5-1.8新特性进行总结,至于详细介绍可以去以上官网查看,或根据下面列出的提纲在线搜索即可!
jdk新特性总结:
jdk1.5
1.自动装箱与拆箱(享元设计模式)2.类型安全枚举(参看)3.静态导入 (参看)4.可变参数(Varargs)(参看)5.内省(Introspector)(参看)6.泛型(Generic) (参看)
7.For-Each循环
8.元数据(注解)(参看)
jdk1.6
1.Web服务元数据(参看)2.脚本语言支持 (参看)3.JTable的排序和过滤(完整代码示例)4.更简单,更强大的JAX-WS (参看)5.轻量级Http Server (参看)6.嵌入式数据库 Derby (参看)
jdk1.7
1.switch中可以使用字串了2.运用List<String> tempList = new ArrayList<>(); 即泛型实例化类型自动推断3.自动资源管理
4.数字字面量下划线支持5.二进制字面量6.Swing组件增强(JLayer,Nimbus Look Feel...)(参看)7.捕获多个异常类型和重新抛出异常与改进类型检查8.改进的编译器警告和错误使用可变参数方法的非Reifiable形式参数9.java2D的增强(参看)
jdk1.8
1. 允许在接口中有默认方法实现(参看)2. Lambda表达式(参看)3. 函数式接口(参看)4. 方法和构造函数引用(参看)5. Lambda的范围(参看)6. 内置函数式接口(参看)7. Streams在新的类java.util.stream
包提供了一个流API来支持函数式的运算元素的流。该流API被集成到集合API,它使上集合批量操作,例如连续或平行地图,减少变换。8. Parallel Streams流操作可以是顺序的,也可以是并行的。顺序操作通过单线程执行,而并行操作则通过多线程执行。并行操作提高运行效率。9. Map(参看)map是不支持流操作的。而更新后的map现在则支持多种实用的新方法,来完成常规的任务。10. 时间日期API(参看)11. Annotations(参看)