从Java 1.8到Java 21,发生了很多变化和改进

这篇具有很好参考价值的文章主要介绍了从Java 1.8到Java 21,发生了很多变化和改进。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

从Java 1.8到Java 21,发生了很多变化和改进。以下是一些主要的变化和需要注意的事项:

  1. 模块化系统 (JEP 261):

    • 在Java 9中引入,这改变了Java的打包和部署方式。
    • 使用module-info.java来定义模块和其依赖。
  2. 接口中的私有方法 (JEP 185):

    • 从Java 9开始,接口中可以定义私有方法。
  3. 局部变量类型推断 (JEP 286):

    • 使用var关键字进行局部变量类型推断。
  4. HTTP/2 客户端 (JEP 110):

    • 在Java 11中引入了一个新的HTTP客户端API。
  5. 新的字符串方法:

    • isBlank()strip()stripLeading()stripTrailing()等。
  6. 集合工厂方法:

    • 例如List.of()Set.of()Map.of()等。
  7. Stream API的改进:

    • takeWhile()dropWhile()等方法。
  8. Optional的改进:

    • stream()orElseThrow()等方法。
  9. 弃用的APIs:

    • Nashorn JavaScript Engine在Java 11中被弃用。
    • java.util.Date的部分方法如after()before()在Java 9中被弃用。
  10. 飞行记录器(JFR, Java Flight Recorder) (JEP 328):

  • 从Java 11开始,JFR已经开源并作为OpenJDK的一部分。
  1. ZGC (JEP 333):
  • 一个可伸缩的、低延迟的垃圾收集器,从Java 11开始可用。
  1. 新的文件API (JEP 320):
  • 提供对文件系统的访问,可以替代老旧的java.io.File API。
  1. Switch表达式的改进 (JEP 361):
  • 从Java 14开始,引入了新的switch表达式语法,支持箭头操作和"yield"关键字。
  1. Records (JEP 395):
  • 从Java 16开始,可以使用records来创建不可变的数据载体,减少样板代码。
  1. 模式匹配 (JEP 406):
  • 从Java 17开始,可以使用模式匹配来简化代码,特别是在switch语句和表达式中。
  1. 外部函数和内存API (JEP 412):
  • 从Java 19开始,这个API允许Java代码与本机代码进行更深入的交互。
  1. 其他语言特性:
  • 如文本块、新的包导出/打开语法等。
  1. 安全性的改进:
  • 如对TLS 1.3的支持、加密算法的更新等。
  1. 工具和库的更新:
  • 如JDK内部的工具如javadoc、jlink、jpackage等都得到了更新和改进。
  1. 移除的特性:
  • 例如,Java的浏览器插件在Java 11后被移除。
  1. 性能改进:
  • 每个版本通常都会带来一些性能上的优化和改进。

请注意,上述列表并不详尽,但应该涵盖了主要的变化和改进。在从Java 1.8迁移到Java 21时,建议查阅官方文档以获取更详细的信息和指南。文章来源地址https://www.toymoban.com/news/detail-854958.html

到了这里,关于从Java 1.8到Java 21,发生了很多变化和改进的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • WIN10 Java jdk 1.8安装教程

    由于今天换了新的办公室,有了新的电脑,所以要对机器安装一下JDK1.8的版本,于是顺便写一下教程。 点击下载链接进行下载 Java Downloads| Oracle 中国 (需要注册Oracle账户,如果没有或者不想的可以点击下方链接,我的阿里云盘里有) 链接: https://www.alipan.com/s/9z7D7UUMKuC https://www.

    2024年01月17日
    浏览(57)
  • Java——JDK1.8新特性

    目录 一、Lambda 表达式 (一)Lambda 表达式语法 (二)类型推断 二、函数式接口 (一)自定义函数式接口 (二)作为参数传递Lambda 表达式 (三)Java 内置四大核心函数式接口 三、方法引用 四、Stream API (一)什么是Stream? (二)Stream 的操作三个步骤 (三)创建流的四种方

    2024年02月07日
    浏览(79)
  • 新建springboot项目,jdk只有17/21,无法选中1.8

    解决方案1: 将 https://start.spring.io/ 或者 http://start.springboot.io/ 替换为  https://start.aliyun.com/ 解决方案二: 升级jdk版本 ,安装jdk17并配置环境变量,官方称,17版本将会是主流,在springboot3以上版本只支持jdk17以上版本(但当前大多数项目都是jdk1.8的环境,且17并不是完全向下兼

    2024年02月05日
    浏览(44)
  • Java中jdk1.8和jdk17相互切换

    之前做Java项目时一直用的是jdk1.8,现在想下载另一个jdk版本17,并且在之后的使用中可以进行相互切换,我将jdk切换时所遇到的问题记录下来并分享出来供大家参考。 环境变量配置如下: 步骤1 步骤2 (注:@MAVEN_HOME%bin;是配置maven时的环境变量,如果没有安装maven就不用管)

    2024年02月03日
    浏览(54)
  • java jdk1.8下载与安装

    官网下载地址:Java Downloads | Oracle 打开官网链接,下滑至Java 8模块,选取自己电脑适合的版本点击下载 1.找到我们下载的安装包,双击运行 2.点击下一步 3.点击更改,修改安装目录   4.选择合适的安装位置,点击确定   5.点击下一步   6.弹出jre的安装选项,点击更改,修改

    2024年02月08日
    浏览(46)
  • 【Java】jdk1.8 Java代理模式,Jdk动态代理讲解(非常详细,附带class文件)

       📝个人主页:哈__ 期待您的关注  想要学代理模式,我们就要先弄清一个概念 “什么是代理”? 在我们的现实生活中,你或许不少听过关于代理的名词,如:代理商。那什么又叫做代理商?让我一个词来形容就是 中间商。 举个例子,在你买二手房的时候,你一般不会直

    2024年04月15日
    浏览(33)
  • 【Java系列】JDK 1.8 新特性之 Lambda表达式

    Lambda是一个匿名函数,我们可以将Lambda表达式理解为一段可以传递的代码(将代码像数据一样传递)。使用它可以写出简洁、灵活的代码。作为一种更紧凑的代码风格,使java语言表达能力得到提升。 结果: ​19:43:39.303 [main] INFO com.chen.test.JAVA8Features.Demo01 - 我是没有使用Lambda表

    2024年02月22日
    浏览(39)
  • [Java]静态代理、动态代理(基于JDK1.8)

    【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18002823 出自【进步*于辰的博客】 参考笔记一,P83;笔记二,P75.4。 目录 1、概述 2、静态代理的两种形式 2.1 面向接口 2.2 面向继承 3、动态代理的两种形式 3.1 JDK动态代理

    2024年03月09日
    浏览(29)
  • java jdk1.8.0_221 安装步骤

    一、下载jdk Oracle JDK下载官网https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载jdk1.8.0_221. 需要注册账号登陆才能下载。 下载完成,双击jdk-8u221-windows-x64.exe,进行安装。 二、安装jdk 安装前准备工作,D盘新建文件夹JAVA,在JAVA文件夹中新建两个文件夹:jdk和

    2024年02月06日
    浏览(46)
  • 【Java基础】JDK8.0(JDK1.8)版本的下载与安装

    JDK(Java SE Development Kits)是Java程序员使用的开发环境,包含JRE和开发工具集。 JRE(Java Runtime Environment) :是Java程序的运行时环境,包含JVM和运行时所需要的核心类库。 官网地址:https://www.oracle.com/cn/java/technologies/javase/javase8u211-later-archive-downloads.html 链接:https://pan.baidu.com/

    2024年02月13日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包