Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。
Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础,可以看作是JavaEE的子集。
只列举主要特性,为了方便书写统一使用JDK+版本号
- JDK 1.0 (1996-1-23)
- JDK 1.1 (1997-2-19)
- 引入JDBC(JAVA Database Connectivity)
- 支持内部类
- 引入Java Bean
- 引入RMI(Remote Method Invocation)
- 引入反射
- JDK 1.2 (1998-12-8)
- 引入集合框架(Collection)
- 对字符串常量做内存映射
- 引入JIT
- 引入对打包的Java文件进行数字签名
- 引入控制授权访问系统资源策略工具
- 引入JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D类库
- 引入Java的插件
- 在JDBC中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型
- 在Applet中添加声音支持
- JDK 1.3 (2000-5-8)
- 引入Java Sound API
- Jar文件索引
- 对Java各方面进行优化和增强
- JDK 1.4 (2004-2-6)
- XML处理
- Java打印服务
- 引入Logging API
- 引入JDBC 3.0
- 引入断言
- 引入Preferences API
- 引入链式异常处理
- 支持IPV6,安全套接字(Socket)支持(通过SSL与TLS协议)
- 支持正则表达式
- 引入Image I/O slot machine API
- JDK 1.5 (2004-9-30),即JAVA 5.0
- 泛型
- 增强循环,使用迭代方式
- 自动装箱,自动拆箱
- 类型安全枚举
- 可变参数
- 静态导入
- 元数据(注解,Metadata)
- 引入Instrumentation
- 线程池
- Java Generics
- JDK 6 (2006-12-11)
- 支持脚本语言
- 引入JDBC 4.0 API
- 引入Java Complier API
- 可插拔注解
- 增加对Native PKI(Public Key Infrastructure)、Java Gss(Generic Security Service)、Kerberos和LDAP(Lightweight Directory Access Protocol)的支持
- 继承Web Services
- Common Annotations
- Web元数据
- JTable的排序和过滤
- 轻量级Http Server
- 嵌入式数据库Derby
- JDK 7 (2011-7-8)
- switch支持字符串
- 泛型类型的应用推断,钻石型语法
- 支持多catch
- 支持动态语言
- 支持 try-with-resources
- 引入JAVA NIO 2
- 数值支持2进制字符串,字符串表示中添加下划线
- Boolean类型反转,空指针安全,参与位运算
- char之间equals比较
- map支持并发请求
- 安全的加减乘除
- JDK 8 (2014-3-19)
- 接口默认方法
- Lambda表达式以及作用域
- 函数式接口
- 方法与构造函数引用
- 访问局部变量
- 访问对象字段与静态变量
- 日期时间 API
- Annotations
- Streams/Parallel Streams
- JDK 9 (2017-9-21)
- 模块化源码
- 简化进程API
- 轻量级JSON API
- 钱和货币API
- 改善锁征用机制
- 代码分段缓存
- 智能Java编译
- HTTP 2.0客户端
- JShell : Java的REPL实现
- 集合工厂方法