java 8 新功能详解_Java 8和Java 14之间的新功能

java 8 新功能详解

从版本9开始,Java每6个月就有一次新功能,因此很难跟踪这些新更改。 互联网上的大多数信息都描述了最近2个Java版本之间的变化。 但是,如果您的情况与我相似,则说明您使用的不是Java的最新版本,而是使用了较旧的Java版本。

然后,知道自您现在使用的版本以来,或者在您现在使用的版本与您要开始使用的版本之间添加了哪些新功能很有用。 因此,对于每个新的Java版本,我已经编译了一个表,其中包含自Java 8起添加的所有新功能。 第一个表包含Java语言的更改,第二个表包含该语言之外的其他内容,例如命令行工具或JVM改进。

请注意,我没有包括所有新功能和API附加功能,仅包括最有用的功能。 为了使清单简短,有一些我不常用的新功能。

您可以在下面找到表格:

  • 新的Java语言功能
  • OpenJDK中的新工具和功能
  • 不推荐使用/已删除的功能和API

自Java 8以来的新Java语言功能

特征 以来 从此开始预览/孵化
记录类型 14
instanceof的模式匹配
(如果(x instanceOf String){x在这里是String}
14
文字区块 13
开关表达式 (也在JDK 13中为JEP 354 ) 14 12
CompletionStage类中特殊的新变体(异步,组件) 12
字符串API的改进 (缩进,转换) 12
CompactNumberFormat类 12
字符串API的改进 (重复,isBlank,条带,行) 11
Lambda参数的局部变量语法 11
新的HTTP客户端API 11 9
局部变量类型推断 10
流API(React流) 9
Java Platform Module System(模块) 9
收集工厂方法 9
流API的改进 (takeWhile,dropWhile,ofNullable,条件迭代) 9
多分辨率图像API 9
堆栈步行API 9
this.getClass()。getPackageName() 9
流程API更新 (有关流程的详细信息,例如ID,onExit,destroy) 9
CompletableFuture API增强功能 (延迟,超时) 9
接口私有方法 9
从and forRemoval弃用注解 9
接口默认方法和静态方法 8
方法参考 8
选修课 8
Lambda表达式 8
功能接口 8
流API 8
有效的最终变量 8
重复注释 8
新日期时间API 8

自OpenJDK 8以来的新JDK工具和功能

工具/功能 以来 自实验
包装工具 14
有用的NullPointerExceptions 14
雪兰多GC 12
Epsilon(无操作)GC 11
Z气相色谱 11
基于Java的实验性JIT编译器 (Graal VM) 10
Docker容器支持 (-XX:-UseContainerSupport) 10和
8u191
灵活的堆大小选择 (-XX:MaxRAMPercentage) 10和
8u191
应用类别-数据共享 10
捷联 9
JShell(Java REPL) 9
多发行JAR文件 9
紧凑弦 9

不推荐使用/已删除的功能和API:

功能/ API 自弃用 自从删除
Solaris和SPARC端口 14
ParallelScavenge + SerialOld GC组合 14
气相色谱仪 9 14
Pack200工具和API 11 14
Nashorn JavaScript引擎 11
Java FX (已移至OpenJFX ) 11
Java EE和CORBA模块 9 11
javah本机头 生成器 10
jhat堆可视化器 9
启动时JRE版本选择 9
很少使用的GC组合 8 9
Applet API 9

有关更多详细信息, javaalmanac.io/目录对于浏览Java的全部历史记录非常有用。 它可以为您提供所选Java版本之间 (例如Java 8和Java 11之间)的API的完全不同。 非常有用,如果您正在考虑迁移到特定的Java版本。

翻译自: https://www.javacodegeeks.com/2020/03/new-features-between-java-8-and-java-14.html

java 8 新功能详解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Tomcat配置虚拟内存

一、Tomcat启动参数JAVA_OPTS参数说明   -server 启用jdk 的 server 版;   -Xms java 虚拟机初始化时的堆最小内存;   -Xmx java 虚拟机可使用堆的最大内存;   -XX: PermSize 非堆内存永久保留区域   -XX:MaxPermS…

ISO语言代码和国家代码+Locale常量+ISO货币符号

【1】ISO语言代码和国家代码 【2】Locale常量 【3】ISO货币符号

djl和ljl_使用Spring Boot和DJL进行深度学习

djl和ljl总览 这是Spring Boot上的另一篇文章 ,该文章将展示如何使用Deep Java Library (DJL)构建示例Web应用程序, Deep Java Library (DJL)是Java的开源深度学习库,用于诊断X射线图像上的COVI…

java BigDecimal八种舍入模式

一、BigDecimal介绍java.math.BigDecimal不可变的immutable、任意精度的有符号十进制数。BigDecimal 由任意精度的整数非标度值和32位的整数标度(scale)组成。标度(scale)如果为零或正数,则标度是小数点后的位数。如果为负数,则将该数的非标度值乘以10的…

java国际化——资源包

【0】README 1) 本文部分文字描述转自 core java volume 2 , 旨在理解 java国际化——资源包 的基础知识 ; 2) 本文源代码idea 转自: (利用properties 文件进行国际化)https://docs.oracle.co…

ui自动化测试测试报告_您需要了解的有关UI测试的所有信息

ui自动化测试测试报告让我们从一个问题开始。 用户在网站上进行互动的第一件事是什么? 接口,当然。 网站的外观是在用户身上产生“第一印象”的第一件事。 交互式Web应用程序可以为用户带来成败,这就是为什么越来越多的人选择对其Web应用程序…

Tomcat解决HTTP GET中文乱码

一、中文乱码原因 Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符,中文字符不能被正确解析了。 二、配置编码 在tomcat的conf/server.xml下的connetor属性中增加URIEncoding或者useBodyEncodingForURI属性 (1&#xff0…

NanoHTTPD web server的一个简单荔枝

【0】README 0.1)本文旨在演示一个简单荔枝,以说明如何使用 NanoHTTPD web server 和 浏览器访问 该server的效果 -------------------------------------------------------------- App.java public class App extends NanoHTTPD {public App() thr…

throwable_您想了解的所有Throwable

throwable本文是有关异常的教程。 但不是通常的一种。 其中有许多内容可以告诉您异常的含义,如何抛出异常,捕获异常,已检查异常和运行时异常之间的区别,等等。 没有必要了。 这对您来说也很无聊。 如果没有,那么请阅读…

Linux Tomcat安装

一、linux 安装软件的步骤 (1)下载软件的压缩包 (2)解压到指定的目录 (3)配置环境变量 ,配置PATH(在任意目录启动,这PATH可以省略,若不配置只有安装目录才…

java分布式对象(RMI+部署使用RMI的程序)

【0】README 1)本文文字转自 core java volume 2, 旨在学习 java 分布式对象的相关知识; 2) RMI 的实例程序为原创; 3) RMI部署步骤的测试用例,参见 http://blog.csdn.net/pacosonswjtu/arti…

java 创建uri_使用UriBuilder快速创建URI

java 创建uri如果您有权访问JAX-RS API和项目中的实现(很多),则可以使用JAX-RS的UriBuilder通过使用可解析占位符的构建器模式方便地创建URI。 看下面的例子: String host System.getProperty( "host" , "localh…

Tomcat 服务自动启动

一、配置/etc/rc.local rc.local是linux启动init之后执行的脚本。 sudo vi /etc/rc.local 添加如下一行 /home/myuser/software/apache-tomcat-7.0.29/bin/startup.sh(脚本绝对路径) 二、sysv-rc-conf 工具配置 1、安装 sysv-rc-conf sudo apt-get …

java分布式对象RMI应用测试用例

【0】README 0.1)本文旨在对http://blog.csdn.net/PacosonSWJTU/article/details/50705192 中的代码进行实践(如何部署一个使用RMI框架的程序以进行远程调用); 0.2) for complete source code, please visit https…

neo4j 迁移_在Kubernetes中迁移Neo4j图模式

neo4j 迁移在零停机时间下运行企业应用程序时,我们需要能够执行数据库架构迁移而又不中断活动用户。 这不仅对于关系数据库很重要,而且对于诸如Neo4J之类的图数据库也很重要,后者不会在write上强制执行架构。 但是,重构图形并使图…

Windows访问Linux的Tomcat,显示无法连接

一、端口占用 先查看tomcat下的logs日志文件,如果现实地址已被占用,则需重新修改端口。 tomcat默认启动的是8080,如果你想修改为80,则需要修改server.xml文件:vim $CATALINA_HOME/conf/server.xml #如果没有配置$CATALINA_HOME&am…

java分布式对象——远程方法中的参数和返回值+远程对象激活

【0】README 1)本文文字描述转自 core java volume 2, 旨在学习 java分布式对象——远程方法中的参数和返回值远程对象激活 的相关知识; 【1】远程方法中的参数和返回值 1) 在开始进行远程方法调用时,调用参数需要从…

wcf:rest_REST:管理多对多关系

wcf:rest介绍 管理多个资源之间的关系可能是RESTful API的重要组成部分。 在这篇文章中,我们将看到使用REST API可以管理多对多关系。 我们以一个简单的用户 / 组关系为例。 假设用户和组是两个单独的资源(例如/ users和/ groups )&#xff…

java安全——类加载器+字节码校验+安全管理器与访问权限

【0】README 0.1)本文文字描述转自 core java volume 2,旨在学习 java安全 的相关知识; 【1】类加载器 1)java 技术提供了以下3种确保安全的机制(mechanism): m1)语言设计特性&am…

Tomcat的web项目部署方式

一、host配置Context 在tomcat中的conf目录中&#xff0c;在server.xml中的&#xff0c;<host/>节点中添加&#xff1a; <Context path"/app" docBase"D:/myeclipse/firstapp/WebRoot" debug"0" privileged"true" reloadab…