JDK1.5新特性:

1.自动装箱与拆箱:

2.枚举

3.静态导入,如:import staticjava.lang.System.out

4.可变参数(Varargs)

5.内省(Introspector),主要用于操作JavaBean中的属性,通过getXxx/setXxx。一般的做法是通过类Introspector来获取某个对象的BeanInfo信息,然后通过BeanInfo来获取属性的描述器(PropertyDescriptor),通过这个属性描述器就可以获取某个属性对应的getter/setter方法,然后我们就可以通过反射机制来调用这些方法。

6.泛型(Generic)(包括通配类型/边界类型等)

7.For-Each循环

8.注解

9.协变返回类型:实际返回类型可以是要求的返回类型的一个子类型

JDK1.6新特性:

1. AWT新增加了两个类:Desktop和SystemTray,其中前者用来通过系统默认程序来执行一个操作,如使用默认浏览器浏览指定的URL,用默认邮件客户端给指定的邮箱发邮件,用默认应用程序打开或编辑文件(比如,用记事本打开以txt为后缀名的文件),用系统默认的打印机打印文档等。后者可以用来在系统托盘区创建一个托盘程序

2.使用JAXB2来实现对象与XML之间的映射,可以将一个Java对象转变成为XML格式,反之亦然

3. StAX,一种利用拉模式解析(pull-parsing)XML文档的API。类似于SAX,也基于事件驱动模型。之所以将StAX加入到JAXP家族,是因为JDK6中的JAXB2和JAX-WS 2.0中都会用StAX。

4.使用Compiler API,动态编译Java源文件,如JSP编译引擎就是动态的,所以修改后无需重启服务器。

5.轻量级Http Server API,据此可以构建自己的嵌入式HttpServer,它支持Http和Https协议。

6.插入式注解处理API(PluggableAnnotation Processing API)

7.提供了Console类用以开发控制台程序,位于java.io包中。据此可方便与Windows下的cmd或Linux下的Terminal等交互。

8.对脚本语言的支持如: ruby,groovy, javascript

9.Common Annotations,原是J2EE 5.0规范的一部分,现在把它的一部分放到了J2SE 6.0中

10.嵌入式数据库 Derby

JDK1.7 新特性

1.对Java集合(Collections)的增强支持,可直接采用[]、{}的形式存入对象,采用[]的形式按照索引、键值来获取集合中的对象。如:

List<String>list=[“item1”,”item2”];//存

Stringitem=list[0];//直接取

Set<String>set={“item1”,”item2”,”item3”};//存

Map<String,Integer> map={“key1”:1,”key2”:2};//存

Intvalue=map[“key1”];//取

2.在Switch中可用String

3.数值可加下划线用作分隔符(编译时自动被忽略)

4.支持二进制数字,如:int binary= 0b1001_1001;

5.简化了可变参数方法的调用

6.调用泛型类的构造方法时,可以省去泛型参数,编译器会自动判断。

7.Boolean类型反转,空指针安全,参与位运算

8.char类型的equals方法: booleanCharacter.equalsIgnoreCase(char ch1, char ch2)

9.安全的加减乘除: Math.safeToInt(longv); Math.safeNegate(int v); Math.safeSubtract(long v1, int v2);Math.safeMultiply(int v1, int v2)……

10 .Map集合支持并发请求,注HashTable是线程安全的,Map是非线程安全的。但此处更新使得其也支持并发。另外,Map对象可这样定义:Map map = {name:"xxx",age:18};

JDK1.8新特性

1.接口的默认方法:即接口中可以声明一个非抽象的方法做为默认的实现,但只能声明一个,且在方法的返回类型前要加上“default”关键字。

2. Lambda 表达式:是对匿名比较器的简化,如:

Collections.sort(names,(String a, String b) -> {

returnb.compareTo(a);

});

对于函数体只有一行代码的,你可以去掉大括号{}以及return关键字。如:

Collections.sort(names,(String a, String b) -> b.compareTo(a));

或:Collections.sort(names, (a, b) -> b.compareTo(a));

3. 函数式接口:是指仅仅只包含一个抽象方法的接口,要加@FunctionalInterface注解

4. 使用 :: 关键字来传递方法或者构造函数引用

5.多重注解

6.还增加了很多与函数式接口类似的接口以及与Map相关的API等……

JDK各版本新增的主要特性的更多相关文章

  1. JDK各版本新增的主要特性总结

    JDK1.5新特性: 1.自动装箱与拆箱: 2.枚举 3.静态导入,如:import staticjava.lang.System.out 4.可变参数(Varargs) 5.内省(Introspec ...

  2. JDK各个版本的新特性jdk1.5-jdk8

    JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一 ...

  3. JDK 7u60 版本发布下载安装

    JDK 7u60 版本发布了,主要改进包括: JavaFX 更新到 2.2.60 Java Mission Control(JMC)更新到 5.3 如果你在一个早期版本的Java中禁用了过期检查功能, ...

  4. JDK各个版本的新特性

    对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一下JDK1.5版本到JD ...

  5. JDK各个版本的新特性jdk1.5-jdk8(转)

    原文:http://www.cnblogs.com/langtianya/p/3757993.html JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要 ...

  6. Java各版本新增特性, Since Java 8

    Java各版本新增特性, Since Java 8 作者:Grey 原文地址: Github 语雀 博客园 Java 8 Reactor of Java 这一章来自于<Spring in Act ...

  7. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增企业通(内部简易聊天工具)

    RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本 新增企业通(内部简易聊天工具) RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用 ...

  8. RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本━新增岗位管理-WinForm部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 V2.8 版本 新增岗位管理-WinForm部分 岗位(职位)管理模块主要是针对组织机构的岗位(职位)进行管理,包括:增加.修改. ...

  9. jdk 多版本安装 for mac

    2016年mac上已经安装有jdk1.6的版本  目录在/Library/Java/JavaVirtualMachines/1.6.0.jdk 有时候mac版本跟新会自动删除jdk1.6 所以要去ma ...

随机推荐

  1. 使用NeatUpload控件实现ASP.NET大文件上传

    使用NeatUpload控件实现ASP.NET大文件上传 一般10M以下的文件上传通过设置Web.Config,再用VS自带的FileUpload控件就可以了,但是如果要上传100M甚至1G的文件就不 ...

  2. TOGAF架构能力框架之架构合同、成熟度模型和架构技能框架

    TOGAF架构能力框架之架构合同.成熟度模型和架构技能框架 5. 架构合同 架构合同是在开发团体和赞助者之间关于架构的交付物.质量以及适用目标的联合协议,并且通过有效的架构治理将会促使这些协议的成功施 ...

  3. IE回车的怪异行为

    问题 IE浏览器在input中回车,会触发button按钮的click事件. 原因分析 IE浏览器中在input中回车相当于提交form,而button标签默认的类型是submit, 所以如果没有指定 ...

  4. css兼容性问题的整理

    css兼容性问题的整理 1.文字本身的大小不兼容.同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,ie下实际占高16px,下留白3px,ff下实际占高17px,上留白1 ...

  5. mongodb学习(翻译1)

    学习mongodb,试着翻译写,英语能力有限,希望大家指正,不顺畅地方大家担待,会后续翻译后面内容: 开始认识C#驱动(官方) 简介 本介绍提供了足够的信息,让你开始使用C#的驱动程序.起步之后,你可 ...

  6. 关于MyEclipse SVN显示资源历史记录乱码问题

    使用SVN查看历史记录进行文件对比的时候,有时会出现乱码问题,如下图: 解决办法:打开Window-->Preferences 如下: 原来默认的是GBK,改为UTF-8即可

  7. jquery选择器之内容过滤选择器

    先写出DOM元素的HTML结构: <style type="text/css"> /*高亮显示*/ .highlight{ background-color: gray ...

  8. DAS,NAS,SAN在数据库存储上的应用

    DAS,NAS,SAN在数据库存储上的应用 一. 硬盘接口类型1. 并行接口还是串行接口(1) 并行接口,指的是并行传输的接口,比如有0~9十个数字,用10条传输线,那么每根线只需要传输一位数字,即可 ...

  9. 纯Python综合图像处理小工具(2)图像增强

    <背景> 这次分享的脚本是对图像进行增强处理,包含对图像像素的色彩增强.亮度增强.对比度增强.图像尖锐化等增强操作,主要基于PIL包的lambda和ImageEnhance模块. 使用方法 ...

  10. Arduino 各种模块篇 RGB LED灯

    示例代码: 类似与这样的led,共阴rgb led,通过调节不同的亮度,组合成不同的颜色. 示例代码: /* 作者:极客工坊 时间:2012年12月18日 IDE版本号:1.0.1 发布地址:www. ...