jdk1.5新特性
1.自动装箱与拆箱:原始类型与对应的包装类不用显式转换
ArrayList list=new ArrayList()----------->ArrayList<Integer>list=new ArrayList<Integer>();
2.静态导入:通过使用 import static,就可以不用指定 Constants 类名而直接使用静态成员,包括静态方法。
Math.sqrt();----------->sqrt();
3.For-Each循环:For-Each循环得加入简化了集合的遍历。
for(i=0;i<a.length;i++){......}----------->for(int i:a){......}
4.泛型:可以指定集合的元素类型。
ArrayList list=new ArrayList()----------->ArrayList<Integer>list=new ArrayList<Integer>();
5.变长参数:有任意个参数,看作数组。
int sum(int ...intlist)
6.枚举:
public enum MyEnum{ RED,GREEN,YELLOW }
7.线程并发库
java.util.concurrent
包括
1.线程互斥
工具类描述:Lock,RedWriteLock
2.线程通信
描述:Condition
3.线程池
ExecutorService
3.同步队列
ArrayBlockingQueue
4.同步集合
ConcurrentHashMap,CopyOnWriteArrayList
5.线程同步工具
Semaphore
jdk1.6新特性
1.使用Compiler API
2.轻量级Http Server API
3.插入式注解API
4.用Console开发控制台程序
5.对脚本语言的支持
6.嵌入式数据库 Derby
jdk1.7新特性
1.switch中可以使用字符串
2.对集合类的语言支持:Java将包含对创建集合类的第一类语言支持。这意味着集合类的创建可以像Ruby和Perl那样了(下面的这些集合是不可变的)。
3.二进制面值
4.数字变量对下滑线的支持
5.try-with-resource
6.捕获多种异常并用改进后的类型检查来重新抛出异常
7.创建泛型时类型推断
8.新增一些取环境信息的工具方法
9.安全的加减乘除
jdk1.8新特性
1.HashMap中的红黑树:HashMap中链长度大于8时采取红黑树的结构存储。
2.ConcurrentHashMap:底层采用node数组+链表+红黑树的存储结构,通过CAS算法(乐观锁机制)+synchronized来保证并发安全的实现。
3.接口中可以有默认方法与静态方法,也就是接口中可以有实现方法
4.Lambda表达式:lambda表达式的使用简化了代码。
5.多重注解