Java 5

  1. 泛型Generics
  2. 枚举类型Enumeration
  3. 自动装箱(自动类型包装和解包)autoboxing & unboxing
  4. 可变参数varargs(varargs number of arguments)
    806e3151ly1fs3wc8cne6j20mw0ei0u8.jpg
  5. Annotations
  6. 新的迭代语句
  7. 静态导入
  8. 新的格式化方法
  9. 新的线程模型和并发库

Java 6

  1. 引入一个支持脚本引擎的新框架
  2. UI的增强
  3. 对WebService支持的增强
  4. 一系列的安全相关的增强
  5. JDBC 4.0
  6. Compiler API
  7. 通用的Annotations支持

Java 7

  1. switch中可以使用字符串
    806e3151ly1fs3wc8gvnej20os0kiac8.jpg
  2. 泛型实例化类型自动推断
  3. 语法上支持集合,而不一定是数组
    806e3151ly1fs3wc7sty2j20s00aiq42.jpg
  4. 新增了一些取环境信息的工具方法
    806e3151ly1fs3wcbsxusj20t80dimzf.jpg
  5. Boolean类型反转,空指针安全,参与为运算
    806e3151ly1fs3wcb8qkzj20r40jiwhd.jpg
  6. 两个char间的equals
  7. 安全的加减乘除
  8. Map集合支持并发请求

Java 8

  1. Lambda表达式
  2. 默认方法
  3. 静态方法
  4. 优化了HashMap以及ConcurrentHashMap

将HashMap原来的数组+链表的结构优化成了数组+链表+红黑树的结构,减少了hash碰撞造成的链表长度过长,时间复杂度过高的问题,ConcurrentHashMap则改进了原先的分段锁的方式,采用transient volatile HashEntry<K,V>[] table来保存数据。

  1. JVM

PermGen空间被移除了,取而代之的是Metaspace。JVM选项-XX:PermSize与-XX:MaxPermSize分别被-XX:MetaSpaceSize与-XX:MaxMetaspaceSize所代替。

  1. 新增原子性操作类LongAdder
  2. 新增StampedLock

Java 9

  1. jshell
  2. 私有接口方法
  3. 更改了HTTP调动的相关API
  4. 集合工厂方法
  5. 改进了Stream API

tinyking
39 声望3 粉丝

为了你快乐,所以我微笑。