JDK8~JDK11的新特性
#JDK 1.8 新特性
接口中的静态方法 只能由接口自己调用
接口中的默认方法 可以不被覆盖
#JDK 1.9 新特性(可能在JDK8中被忽略了,没来得及加)
接口可以定义私有方法,但是只能让自己调用,实现类不能调用
<>学名 钻石操作符
在定义匿名内部类时,这个钻石操作符可以使用类型推断
Comparator<Object> com = new Comparator<>(){...};
JDK 1.7中加了一个类型推断,所以有如下写法
ArrayList<String> list = new ArrayList<>;
java8中,可以实现资源的自动关闭,但是要求执行后必须关闭的所有资源必须在try子句中初始化,否则编译不通过。
java9的话,只要把要关闭的资源变量放在try的小括号中即可,但是在不能更改这个资源变量的值;
motivation 动机
String 不用 char[] 来存储,改成了byte[] 加上 编码标记,节约了一些空间
java9新特性 用集合工厂方法去创建只读集合
Collections.unmodifiableList(list);
标识接口,这种接口里面啥代码也没有,只起一个标识的作用
可以用of方法来创建只读集合
List.of(1,2,3,4,5);
Inputstream 可以使用 transferTo 直接将数据传输到OutputStream
在使用nosql时 stream api就非常实用了
Stream.of();
of参数不能存储单个null,否则会报错
于是jdk9中加了一个ofNullable(),只能放一个值
... 学名 可变形参
alt + / 快捷键自动补全
Nashorn 是一个Javascript引擎
2014 java8
2017.9 java9
2018.3 java10
2018.9 java11 LTS版
2019.3 java12
idea 18年的第三个版本
LTS是长期支持(Long Term Support)的缩写
长期支持稳定版
太多的类型声明只会分散注意力,不会带来额外的好处
# Java 10 的新特性
局部变量的类型推断
用var代替了,声明变量时,根据所附的值,推断变量的类型
copyOf()创建一个只读的集合
java11 提供了 两种新的GC Epsilon 和 ZGC(这一个GC是具有划时代意义的)
# java11
String 的.isBlank()、strip()方法
java11中废弃掉Nashorn引擎
experimental 实验的
stw(stop the world)
java flight recorder java飞行器
新的货币API
currency
JDK8~JDK11的新特性的更多相关文章
- JDK7和JDK8一些重要新特性
jdk7新特性(部分) switch支持字符串 List AutoCloseable接口实现自动关闭,在try()中 新增获取环境信息的工具方法,getJavaHomeDir,getUserHomeD ...
- dk7和jdk8的一些新特性
本文是我学习了解了j 的一些资料,有兴趣的大家可以浏览下下面的内容. 官方文档:http://www.oracle.com/technetwork/java/javase/jdk7-relnotes- ...
- JDK8中的新特性
1.lambda表达式 1.定义 Java 8 发布的最重要新特性.Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中),可以推导出来的就可以省略了,Lambda 表达式免去了使用匿 ...
- JDK8之Stream新特性
https://www.cnblogs.com/cbxBlog/p/9123106.html /** *JDK8 Stream特性 * Created by chengbx on 2018/5/27. ...
- JDK11&12 新特性学习
- jdk8新特性(文章推荐)
文章推荐 jdk9都已经出来了,虽然很多项目都已经使用jdk8,但是很少会用到jdk8中的新特性.本人经常用的到也就是使用Stream,Lambda,但也仅仅是使用,基本不知道什么Function,C ...
- JDK8的新特性——Lambda表达式
JDK8已经发布快4年的时间了,现在来谈它的新特性显得略微的有点“不合时宜”.尽管JDK8已不再“新”,但它的重要特性之一——Lambda表达式依然是不被大部分开发者所熟练运用,甚至不被开发者所熟知. ...
- jdk8新特性(详解)
最近在复习外加看点面试题,jdk8的新特性虽然在项目用用到过一两个,准备系统的了解一下jdk8的常用新特性 一:Lambd表达式 也可称为闭包 引入函数式编程到Java中 为了使现有函 ...
- JDK8中接口的新特性
在JDK8环境中,接口中的方法不再是只能有抽象方法,还可以有静态方法和default方法.实现类只需要实现它的抽象方法即可,JDK8中的接口有愈发向抽象类靠拢的感觉. 关于静态方法和默认方法作如下简述 ...
随机推荐
- Mysql基本用法-left join、right join、 inner join、子查询和join-02
left join #左连接又叫外连接 left join 返回左表中所有记录和右表中连接字段相等的记录 test_user表 phpcvs表 SQL: select * from test_use ...
- 前端学习 之 JavaScript基础
一. JavaScript简介 1. JavaScript的历史背景介绍 1994年,网景公司(Netscape)发布了Navigator浏览器0.9版.这是历史上第一个比较成熟的网络浏览器,轰动一时 ...
- SpringBoot yml文件语法
SpringBoot提供了大量的默认配置,如果要修改默认配置,需要在配置文件中修改. SpringBoot默认会加载resource下的配置文件: application*.yml applicati ...
- 数据库先系统与原理第三章笔记:数据库SQL查询语言
SQL概述 SQL发展 SQL特点 SQL查询基本概念 单表查询 投影查询 1.查询指定列: SELECT 列名1,列名2,列名3,.....FROM Table_Name; #查询全部列:SELEC ...
- C++结构体struct与C语⾔结构体和C++引⽤&与传值的区别
写再最前面:摘录于柳神的笔记: (1)定义好结构体 stu 之后,使⽤这个结构体类型的时候,C语⾔需要写关键字 struct ,⽽C++⾥⾯可以省 略不写: (2)这个引⽤符号 & 要和C语⾔ ...
- 墨西哥萨卡特卡斯将举行GNOME GUADEC 2020 峰会
导读 GNOME基金会今天宣布了下两届GUADEC(GNOME用户和开发人员欧洲会议)活动的主办城市,这也将是GNOME桌面环境下一版本的代号. 随着GNOME 3.34 “Thessalonik”的 ...
- 使用jquery select2实现下拉框搜索功能
由于公司后台系统下拉框数据量太多了,用户操作起来要不方便所以增加了下拉框里面一个搜索功能 1从官网下载jquery select2 下来 地址https://select2.github.io/ 2: ...
- CentOS7中Tomcat的安装和配置
Tomcat运行需要设置JRE目录,全局变量配置,请参见: Linux下JDK的安装和配置 当然也可以直接修改Tomcat的配置文件,请自行度娘 1.下载并解压 请先去官网找到需要下载的tom ...
- python3 引入selenium库报错ModuleNotFoundError: No module named 'selenium'
解决方法: pip install -U selenium
- mysql 优化策略(如何利用好索引)
博客园 首页 联系 管理 随笔- 3282 文章- 0 评论- 157 mysql联合索引 命名规则:表名_字段名1.需要加索引的字段,要在where条件中2.数据量少的字段不需要加索引3.如果 ...