JAVA的前世今生

263 阅读3分钟

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+版本号

  1. JDK 1.0 (1996-1-23)
  2. JDK 1.1 (1997-2-19)
    • 引入JDBC(JAVA Database Connectivity)
    • 支持内部类
    • 引入Java Bean
    • 引入RMI(Remote Method Invocation)
    • 引入反射
  3. JDK 1.2 (1998-12-8)
    • 引入集合框架(Collection)
    • 对字符串常量做内存映射
    • 引入JIT
    • 引入对打包的Java文件进行数字签名
    • 引入控制授权访问系统资源策略工具
    • 引入JFC(Java Foundation Classes),包括Swing 1.0、拖放和Java 2D类库
    • 引入Java的插件
    • 在JDBC中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型
    • 在Applet中添加声音支持
  4. JDK 1.3 (2000-5-8)
    • 引入Java Sound API
    • Jar文件索引
    • 对Java各方面进行优化和增强
  5. 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
  6. JDK 1.5 (2004-9-30),即JAVA 5.0
    • 泛型
    • 增强循环,使用迭代方式
    • 自动装箱,自动拆箱
    • 类型安全枚举
    • 可变参数
    • 静态导入
    • 元数据(注解,Metadata)
    • 引入Instrumentation
    • 线程池
    • Java Generics
  7. 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
  8. JDK 7 (2011-7-8)
    • switch支持字符串
    • 泛型类型的应用推断,钻石型语法
    • 支持多catch
    • 支持动态语言
    • 支持 try-with-resources
    • 引入JAVA NIO 2
    • 数值支持2进制字符串,字符串表示中添加下划线
    • Boolean类型反转,空指针安全,参与位运算
    • char之间equals比较
    • map支持并发请求
    • 安全的加减乘除
  9. JDK 8 (2014-3-19)
    • 接口默认方法
    • Lambda表达式以及作用域
    • 函数式接口
    • 方法与构造函数引用
    • 访问局部变量
    • 访问对象字段与静态变量
    • 日期时间 API
    • Annotations
    • Streams/Parallel Streams
  10. JDK 9 (2017-9-21)
    • 模块化源码
    • 简化进程API
    • 轻量级JSON API
    • 钱和货币API
    • 改善锁征用机制
    • 代码分段缓存
    • 智能Java编译
    • HTTP 2.0客户端
    • JShell : Java的REPL实现
    • 集合工厂方法