开发者社区 问答 正文

JDK

1.5
1.自动装箱与拆箱:
2.枚举(常用来设计单例模式)
3.静态导入
4.可变参数
5.内省

1.6
1.Web服务元数据
2.脚本语言支持
3.JTable的排序和过滤
4.更简单,更强大的JAX-WS
5.轻量级Http Server
6.嵌入式数据库 Derby

1.7
1,switch中可以使用字串了
2.运用List tempList = new ArrayList<>(); 即泛型实例化类型自动推断
3.语法上支持集合,而不一定是数组
4.新增一些取环境信息的工具方法
5.Boolean类型反转,空指针安全,参与位运算
6.两个char间的equals
7.安全的加减乘除
8.map集合支持并发请求,且可以写成 Map map = {name:”xxx”,age:18};

1.8
1. 允许在接口中有默认方法实现
2. Lambda表达式
3. 函数式接口
4. 方法和构造函数引用
5. Lambda的范围
6. 内置函数式接口
7. Streams
8. Parallel Streams
9. Map
10. 时间日期API
11. Annotations

1.9
1. Jigsaw 项目;模块化源码
2. 简化进程API
3. 轻量级 JSON API
4. 钱和货币的API
5. 改善锁争用机制
6. 代码分段缓存
7. 智能Java编译, 第二阶段
8. HTTP 2.0客户端
9. Kulla计划: Java的REPL实现

展开
收起
琴瑟 2017-04-06 22:12:50 3061 分享 版权
阿里云 AI 助理回答

根据您的要求,以下是Java不同版本中引入的重要特性和改进的概述:

Java 1.5(Java 5)特性

  • 自动装箱与拆箱:允许在基本类型和它们对应的包装类之间自动转换。
  • 枚举:引入了枚举类型,常用于定义固定的常量集合,如单例模式的实现。
  • 静态导入:允许直接使用静态成员而无需指定所属类。
  • 可变参数:方法参数可以声明为可变长度,简化了重载多个相似方法的需求。
  • 内省(Reflection API增强):提供了更强大的反射功能,便于运行时检查和操作程序元素。

Java 1.6(Java 6)特性

  • Web服务元数据:增强了对Web服务的支持,包括元数据发布和处理。
  • 脚本语言支持:通过ScriptEngine接口直接在Java应用程序中执行脚本代码。
  • JTable排序和过滤:Swing中的JTable组件新增了内置排序和过滤功能。
  • 简化且强大的JAX-WS:改进了Web服务API,简化了开发过程。
  • 轻量级Http Server:引入了一个简单的HTTP服务器API,便于快速搭建测试服务器。
  • 嵌入式数据库 Derby:捆绑了Apache Derby作为默认的嵌入式数据库。

Java 1.7(Java 7)特性

  • switch中使用字符串:switch语句可以直接使用字符串。
  • 泛型实例化类型推断:如List<String> list = new ArrayList<>(),右侧<>可以省略类型。
  • 集合支持而非数组:语法上更加灵活,直接在for-each循环中使用集合。
  • 环境信息工具方法:新增获取系统环境信息的方法。
  • Boolean改进:布尔类型的反转、空指针安全及位运算支持。
  • char比较:两个char值可以直接用equals比较。
  • 安全算术运算:整数除法不会抛出异常,而是返回商的整数部分。
  • 并发Map操作:如ConcurrentHashMap支持高效并发读写。

Java 1.8(Java 8)特性

  • 接口默认方法和静态方法:接口可以有默认实现,增强了复用性。
  • Lambda表达式:提供了一种更简洁的函数式编程风格。
  • 函数式接口:单一抽象方法的接口,配合Lambda表达式使用。
  • 方法引用:更简洁地引用已有方法,如::语法。
  • Stream API:用于处理集合的高级抽象,支持并行处理。
  • 时间日期API:全新的日期和时间处理类,如LocalDateLocalTime等。
  • 注解的重复使用:允许在同一个元素上多次使用同一注解。

Java 1.9(Java 9)特性

  • 模块系统(Jigsaw项目):将源码和库组织成模块,提高封装性和可维护性。
  • 简化进程API:新的API来管理操作系统进程。
  • 轻量级JSON API:原生支持JSON解析和生成。
  • 货币和货币单位API:更好的处理货币相关的计算和格式化。
  • 改进的锁争用机制:减少线程竞争开销。
  • 编译器优化:第二阶段的智能编译技术提升性能。
  • HTTP/2客户端:支持HTTP/2协议的客户端API。
  • REPL(Read-Eval-Print Loop):Java Shell (jshell),交互式编程环境。

这些特性展示了Java语言随着时间的推移不断进化,增加了许多现代编程所需的功能,提高了开发效率和运行时性能。如果您正考虑升级Java版本,请参考上述特性以决定最适合您项目的版本。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答