Java 1.0
Oak,1996
Java 1.1
1997
- 引入JDBC
- 支持内部类
- 引入Java Bean
- 引入RMI
- 引入反射(仅用于内省)
Java 1.2
1998
- 引入集合框架Collections
- 对字符串常量做内存映射
- 引入JIT编译器
- 引入对打包的Java文件进行数字签名
- 引入JFC,包括Swing1.0、拖放和Java 2D类库
- 引入Java插件
- 在JDBC中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型
- 在Applet中添加声音支持
Java 1.3
2000
- 引入Java Sound API
- jar文件索引
Java 1.4
2004
- XML处理
- Java打印服务
- 引入Logging API
- 引入Java Web Start
- 引入JDBC 3.0 API
- 引入断言
- 引入Preferences API
- 引入链式异常处理
- 支持IPv6
- 支持正则表达式
- 引入Image I/O slot machine API
Java 5
2004
- 引入泛型
- 自动装箱和拆箱
- 枚举
- 可变参数
- for-each循环
- 静态导入包
- 注解(元数据)
- 内省(Introspector)
Java 6
2006
- 支持脚本语言
- 引入JDBC4.0 API
- 引入Java Compiler API
- 可插拔注解
- 增加对Native PKI、Java GSS、Kerberos和LDAP的支持
- 继承Web Services
Java 7
2011
- Switch语句块允许以字符串作为分支条件
- 在创建泛型对象时应用类型推断
- 在一个语句块中捕获多种异常
- 支持动态语言
- 支持try-with-resources
- 引入Java NIO.2开发包
- 数值类型可以用二进制字符串表示,并且可以在字符串中添加下划线
- 钻石型语法
- null值的自动处理
Java 8
2014
- Lambda表达式
- 接口的默认方法与静态方法
- 方法引用
- 重复注解@Repeatable
- 扩展注解的支持
- Optional类(防止空指针异常)
- Stream(类似于MapReduce)
- Date/Time API(JSR 310)
- JavaScript引擎Nashorn(允许Java与JavaScript互相调用)
- Base64
- 更好的类型推测机制
- 编译器优化
- 并行数组
- JVM的PermGen空间替换为Metaspace