Java 8 的主要新特性

1. Lambda 表达式

Lambda 允许把函数作为一个方法的参数传递进方法中。

作用:解决 Java 被诟病的匿名内部类的问题。

2. 接口中可增加了默认方法

作用:在接口中也可以有实现方法了。

3. HashMap 底层数据结构的变化

java 8 之前,HashMap 底层的数据结构是数组+链表实现的, Java 8 之后是数组+链表+红黑树实现的,当链表的长度超过 8 之后,会转换成红黑树。

作用:解决因哈希冲突导致的链表过长,查询效率低的问题。

4. Stream API

新添加 Stream API (java.util.stream),把真正函数式编程的风格引入 Java。

5. 提供一个新的 JavaScript 引擎

Java 8 提供了一个新的 Nashorn JavaScript 引擎,它允许在 JVM 上运行特定的 JavaScript 应用。

作用:解决日益增长的 Java 跟 JS 交互混合的需求。

Java 9 新特性

1. 模块系统

模块是一个包的容器,Java 9 最大的变化之一是引入模块系统。(Jigsaw 项目)

作用:解决大型项目模块化开发的需求。

2. 支持 HTTP/2 标准

HTTP/2 标准是 HTTP 协议的最新版本,新的 HTTPClient API 支持 Websocket 和 HTTP2 流以及服务器推送特性。

3. 提供创建不可变集合的静态工厂方法

List、Set、Map 接口中,提供新的静态工厂方法直接创建不可变的集合实例。

作用:创建不可变集合更方便,一行代码就搞定,节省了开销。

4. 私有接口方法

在接口中也允许编写 private 修饰的私有方法了。

作用:增强了接口的功能,提高了可扩展性。

5. 轻量级的 JSON API

内置了一个轻量级的 JSON API。

6. 引入响应式流 API

Java 9 引入了新的响应式流 API。

作用:支持响应式编程的需求。

Java8 和 Java9 的主要新特性相关推荐

  1. 聊聊 Java8 以后各个版本的新特性

    [这是 ZY 第 11 篇原创技术文章] 某天在网上闲逛,突然看到有篇介绍 Java 11 新特性的文章,顿时心里一惊,毕竟我对于 Java 的版本认识还停留在 Java 8 上,而日常使用的语法和 ...

  2. java9特性_96.java基础10(java9/10/11新特性)

    126.java 9 新特性1(模块化功能): 1.java模块化 2.java 交互式环境jshell 3.泛型 package com.atguigu.java; import org.junit ...

  3. java8 stream 做累加_Java8新特性之Stream(上)|乐字节

    上次给大家介绍了Java8新特性之方法引用,大家可以点击回顾下.接下来小乐继续给大家带来Java8新特性之Stream ,流是Java8最重要的内容,小乐准备分上下两部分介绍,今天是上部. 5.1.什 ...

  4. java8 lambda map排序_Java8新特性第3章(Stream API)

    转载请注明出处:https://zhuanlan.zhihu.com/p/20540202 Stream作为Java8的新特性之一,他与Java IO包中的InputStream和OutputStre ...

  5. java8,java9和java11的特性和区别!

    java 8的主要特性 1. Lambda 表达式 Lambda 允许把函数作为一个方法的参数传递进方法中. 作用:解决 Java 被诟病的匿名内部类的问题. 2. 接口中可增加了默认方法 作用:在接 ...

  6. 干货 | Java8的几个实用新特性教程分享给你

    点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看 文章来 ...

  7. java8 collect 类型转换_Java 8 新特性 Stream类的collect方法

    1.Collectors.toList():转换成List集合./ Collectors.toSet():转换成set集合. System.out.println(Stream.of("a& ...

  8. 【16章Java 9 10 11新特性】Java9 Java10 Java11新特性

    ❤写在前面 ❤博客主页:努力的小鳴人 ❤系列专栏:JavaSE超详总结

  9. Java8 ~ Java17 新特性

    Java 8 主要特性: Lambda, 函数式接口,方法引用,Optional, Stream的引入 接口默认方法,重复注解,日期API, Base64支持 Lambda和函数式接口 函数式接口就是 ...

最新文章

  1. php laravel 环境搭建
  2. (转自ITAA)个人问题汇总(workatlab)
  3. Android的矩阵(一):ColorMatrix
  4. linux入门级知识回顾
  5. 无法下载linux系统的驱动精灵,有没有LINUX版的 驱动精灵 破系统搞驱动太费劲,尤其笔记本电脑...
  6. 批量快速一键修改IP,掩码,网关,以及dns代码
  7. regex 正则表达式_使用正则表达式(Regex)删除HTML标签
  8. 虚拟机Ubuntu18.04 root下 连接 windows 中 winScp
  9. 成功跳槽百度工资从15K涨到28K,跳槽薪资翻倍
  10. 基于GAN的手写数字生成实践
  11. table表格固定表头
  12. 软件测试专业川内大学,四川大学分析测试中心
  13. Python 模块:XlsxWriter 的使用
  14. 可视化——统计图表介绍
  15. IntelliJ Idea如何查看所有的TODO
  16. 快递规模持续扩大,丰网加盟迎发展新机遇
  17. python买卖股票_python买卖股票的最佳时机(基于贪心_蛮力算法)
  18. 【Web技术】1159- 浅析 Web 录屏技术方案与实现
  19. Python Numpy random.chisquare() 卡方分布
  20. 树莓派之无屏幕下发现树莓派IP方法

热门文章

  1. 学习笔记5-梯度爆炸和梯度消失(K折交叉验证)
  2. 关键路径算法中的etv和ltv的理解
  3. java 解释什么是补码_Java补码解释
  4. 蓝桥杯 调手表 BFS
  5. 正则表达式-手机号码验证
  6. 手机处理器的nm制造工艺
  7. Android 获取IP与mac地址
  8. Microsoft Office安装失败
  9. 如何拦截机器攻击(刷注册、刷票、刷优惠券、刷现金红包、数据爬取等等)
  10. uniapp 请求自建ocr服务识别身份证