Java1-8 新特性

本贴最后更新于 1929 天前,其中的信息可能已经渤澥桑田

Java1 橡树 Oak 1996-01-23

  1. 引入 JDBC
  2. 支持内部类
  3. 引入 Java Bean
  4. 引入 RMI
  5. 引入反射(仅用于内省)

Java2 竞技场 Playground 1998-12-04

  1. 引入 集合(Collection) 框架
  2. 对字符串常量做内存映射
  3. 引入 JIT(Just In Time) 编译器
  4. 引入对打包的 Java 文件进行 数字签名
  5. 引入控制授权访问系统资源的策略工具
  6. 引入 JFC(Java Foundation Classes),包括 Swing 1.0、拖放和 Java 2D 类库
  7. 引入 Java 插件
  8. 在 JDBC 中引入可滚动结果集、BLOB、CLOB、批量更新和用户自定义类型
  9. 在 Applet 中添加声音支持

Java3 美洲红隼 Kestrel 2000-05-08

  1. 引入 Java Sound API
  2. jar 文件索引;
  3. 对 Java 的各个方面都做了大量优化和增强

Java4 灰背隼 Merlin 2004-02-06(里程碑版本)

  1. XML 处理
  2. Java 打印服务
  3. 引入 Logging API
  4. 引入 Java Web Start
  5. 引入 JDBC 3.0 API
  6. 引入断言
  7. 引入 Preferences API
  8. 引入链式异常处理
  9. 支持 IPv6
  10. 支持正则表达式
  11. 引入 Image I/O API

Java5 老虎 Tiger 2004-09-30(语法易用性)

  1. 引入范型
  2. 枚举类型 Enumeration
  3. 自动拆装箱
  4. 可变参数,如 test(String... s)
  5. 添加注解,如 Override、Deprecated 等。
  6. 元数据 annotations,出现的作用就是用来替代 XML,可以说 annotations 就是将 xml 分割成了无数个单元,从而实现了和 XML 相同的作用,即注解替代配置文件
  7. 内容面板代理,在 JDK5.0 先前的版本中,JFrame,JDialog,JApplet 等类没有代理 add 和 setLayout 方法
  8. StringBuilder,相比之前的 StringBuffer 线程不同步,所以更高效
  9. for 的增强循环,如 for(type v : array){}
  10. 静态导入
  11. 可变返回类型,在 JDK5.0 以前,当覆盖父类方法时,返回类型是不能改变的
  12. 控制台输入,JDK 5.0 先前的版本没有 Scanner 类
  13. 格式化输出,System.out.printf("%8.2f", x);
  14. 引入 Instrumentation:使用 Instrumentation,开发者可以构建一个代理,用来监测运行在 JVM 上的程序。监测一般是通过在执行某个类文件之前,对该类文件的字节码进行适当修改进行的。如在 JVM 层级上做方法运行时间的代理 AOP。

Java6 野马 Mustang 2006-12-11

  1. 引入了一个支持脚本引擎的新框架
  2. UI 的增强
  3. 对 WebService 支持的增强(JAX-WS2.0 和 JAXB2.0)
  4. 增加对 Native PKI(Public Key Infrastructure)、Java GSS(Generic Security Service)、Kerberos 和 LDAP(Lightweight Directory Access Protocol)的支持
  5. JDBC4.0
  6. Compiler API
  7. 可插拔注解

Java7 海豚 Dolphin 2011-07-28

  1. switch 可以使用字符串
  2. 增加二进制表示,如 0B1111
  3. 数字可添加下划线,如 12_34_56 等同于 123456
  4. 在创建泛型对象时应用类型推断
  5. 在一个语句块中捕获多种异常
  6. 支持 try-with-resources
  7. 引入 Java NIO.2 开发包
  8. 钻石型语法
  9. null 值的自动处理
  10. Map 集合支持并发请求,且可以写成 Map map = {name:"xxx",age:18};
  11. java.lang 包优化,去掉非分层委托定制类加载器
  12. JVM 简化动态编译语言的实施
  13. 对安全、并发、2D、国际化作了优化
  14. JDBC 版本更新,更新为 JDBC4.1(java6 是 jdbc4.0)
  15. URL 类增强
  16. Collection 类增强
  17. XML 技术增强
  18. Swing 新增一些组件,如自定义绘画,自定义形状的窗体,色彩选择器,自定义皮肤,半透明属性等

Java8 蜘蛛 Spider 2014-03-19

  1. 接口增加默认方法(扩展方法)
    10png
    实现类不需要实现这个方法,直接可以使用默认

  2. Lambda 表达式
    11png
    这 2 个 sort 方法效果一样

  3. 函数化接口(只有一个抽象方法的接口,用 @FunctionalInterface 表示)
    12png
    他有 2 种方式实现:
    13png
    14png

  4. List 操作
    新增 Stream 接口来处理 Collection
    lis 可以转成 Stream 然后进行一些操作
    15png

  5. Map 操作
    16png

  6. 新增的一些接口
    Predicate 接口(断言)Function 接口(函数)Supplier 接口(供应商)Consumer 接口(消费者)Comparator 接口(比较)Optional 接口( 可选)

  7. 改进 Date 类

  8. 支持多重注解
    允许把同一个类型的注解使用多次

  9. 把 sun 下的 base64 编码和解码包引入 jdk 中,放在 java.util 下

  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3165 引用 • 8206 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...