Java8 和 Java9 的主要新特性
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 的主要新特性相关推荐
- 聊聊 Java8 以后各个版本的新特性
[这是 ZY 第 11 篇原创技术文章] 某天在网上闲逛,突然看到有篇介绍 Java 11 新特性的文章,顿时心里一惊,毕竟我对于 Java 的版本认识还停留在 Java 8 上,而日常使用的语法和 ...
- java9特性_96.java基础10(java9/10/11新特性)
126.java 9 新特性1(模块化功能): 1.java模块化 2.java 交互式环境jshell 3.泛型 package com.atguigu.java; import org.junit ...
- java8 stream 做累加_Java8新特性之Stream(上)|乐字节
上次给大家介绍了Java8新特性之方法引用,大家可以点击回顾下.接下来小乐继续给大家带来Java8新特性之Stream ,流是Java8最重要的内容,小乐准备分上下两部分介绍,今天是上部. 5.1.什 ...
- java8 lambda map排序_Java8新特性第3章(Stream API)
转载请注明出处:https://zhuanlan.zhihu.com/p/20540202 Stream作为Java8的新特性之一,他与Java IO包中的InputStream和OutputStre ...
- java8,java9和java11的特性和区别!
java 8的主要特性 1. Lambda 表达式 Lambda 允许把函数作为一个方法的参数传递进方法中. 作用:解决 Java 被诟病的匿名内部类的问题. 2. 接口中可增加了默认方法 作用:在接 ...
- 干货 | Java8的几个实用新特性教程分享给你
点击上方"码农突围",马上关注 这里是码农充电第一站,回复"666",获取一份专属大礼包 真爱,请设置"星标"或点个"在看 文章来 ...
- java8 collect 类型转换_Java 8 新特性 Stream类的collect方法
1.Collectors.toList():转换成List集合./ Collectors.toSet():转换成set集合. System.out.println(Stream.of("a& ...
- 【16章Java 9 10 11新特性】Java9 Java10 Java11新特性
❤写在前面 ❤博客主页:努力的小鳴人 ❤系列专栏:JavaSE超详总结
- Java8 ~ Java17 新特性
Java 8 主要特性: Lambda, 函数式接口,方法引用,Optional, Stream的引入 接口默认方法,重复注解,日期API, Base64支持 Lambda和函数式接口 函数式接口就是 ...
最新文章
- Python + wordcloud + jieba 十分钟学会生成中文词云
- SAP Spartacus 产品明细页面的 url 设计和数据源
- 去水印+外卖cps小程序源码+视频搭建教程
- 改善深层神经网络:超参数调整、正则化以及优化——2.2 理解Mini-batch梯度下降法
- TensorFlow入门--实现多层感知机
- 蓝桥杯 单点最短路径问题
- 彪悍语录系列(摘于网络)
- iproute2 对决 net-tools
- Spring Roo 之 Mysql 连接
- gcc编译器参数使用及解决
- python模拟超市抹零_Python基础练习二超市存包柜模拟
- 更新cuda驱动10.0==>11.2
- 摄像头相关控制器集合
- c语言代码怎样制作成一个游戏?
- SQL中将年月日, DATE_FORMAT()格式转换指定格式
- 物联网通信技术原理第3章 近距离无线通信技术
- JavaSE_笔试题_判断题1
- Unity笔记——FairyGUI
- C# winfrom中Flash播放使用axShockwaveFlash控件设置透明XP出现白色背景解决办法,仿QQ魔法表情效果...
- 计算机股票分析报告,投资者分析股票市场报告和财务仪表板与商业智能 (Bi), 与关键绩效指标 (Kpi). 生意人手在大屏幕计算机上处理财务计划....
热门文章
- 放开那个水果!让我来!使用飞桨高层API轻松实现智能果蔬分类系统
- Drupal 7.32 “Drupalgeddon” SQL注入漏洞(CVE-2014-3704)
- 使用element-plus插件icon组件SVG 图标不显示解决方案
- Jmeter接口自动化总结
- Oracle 10g rac + ASM数据迁移(替换ASM中的磁盘,用新存储替换旧存储)
- git: refusing to delete the current branch
- 6s模型c语言,6S模型.doc
- es6的bable安装
- C++ STL编译报错:error: error passing 'const' as 'this' argument
- Gin验证请求参数-自定义验证规则