Java 11 正式发布!

nexus-3.70.1-02-java17-unix.tar.gz 2024-07-28官网下载。官网太慢了,特定分享下。注意环境 java17的。maven私服搭建。 官网地址: https://help.sonatype.com/en/download.html 本版本启动会报错: java.lang.IllegalStateException: The maximum Java version for OrientDb is Java 11. Please check current Java version meets this requirement. 参见: https://community.sonatype.com/t/nexus-windows-jdk17-version-failing-to-start/12684 立即下载

在这里插入图片描述

有多少语言在提刀想反超 Java 的路上?但万万没想到,人家并未当回事,如今这款常青藤甚至越跑越欢,当我们还在使用 Java 7/8 时,它已经一路跑到了 11。

和预期的时间差不多,北京时间 9 月 26 日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可供生产环境中使用,此次版本的更新,不仅提高了工作效率,也提供了 HTTP/2 Client API。

在这里插入图片描述

同时,这也是自 Oracle 宣布以六个月为周期更新后发布的第一个长期支持版本。下载地址如下:

https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

JDK 11 主要特性

最新发布的 JDK 11 共带来了 17 项更新:

181:Nest-Based Access Control(基于嵌套的访问控制)
309:Dynamic Class-File Constants(动态类文件常量)
315: Improve Aarch64 Intrinsics(改进 Aarch64 内部函数)
318:Epsilon: A No-Op Garbage Collector(Epsilon:No-Op 垃圾收集器)
320:Remove the Java EE and CORBA Modules(删除 Java EE 和 CORBA 模块)
321:HTTP Client (Standard)(HTTP 客户端)
323:Local-Variable Syntax for Lambda Parameters(Lambda 参数的变量语法)

在这里插入图片描述

324:Key Agreement with Curve25519 and Curve448(采用 Curve25519 和 Curve448 算法实现的密钥协议)
327:Unicode 10
328:Flight Recorder(飞行记录器)
329:ChaCha20 and Poly1305 Cryptographic Algorithms(ChaCha20 和 Poly1305 加密算法)
330:Launch Single-File Source-Code Programs(启动单文件源代码程序)
331:Low-Overhead Heap Profiling(低开销堆分配采样方法)
332: Transport Layer Security (TLS) 1.3(TLS 1.3 的传输层安全性)
333:ZGC: A Scalable Low-Latency Garbage Collector(Experimental)(ZGC:可扩展的低延迟垃圾收集器,在实验阶段)
335:Deprecate the Nashorn JavaScript Engine(弃用 Rhino JavaScript 引擎)
336:Deprecate the Pack200 Tools and API(弃用 Pack200 工具和 API)

从开发者的角度来看,上面的特性中有几点需要特别关注。

一

JEP 323 实现了 Java 10 中引入的局部变量类型推断的扩展。类型推断是从其余源代码和键入规则中推导出的数据类型。这节省了开发者的工作时间,且不会使源代码过于复杂,而提高了可读性。

从 Java 10 开始,可以使用关键字 var 声明局部变量,如下所示:

// Funktioniert seit Java 10 var zahl = 5; // int var string = “Hello
World”; // String var objekt = BigDecimal.ONE; // BigDecimal

在这里插入图片描述

在 Java 11 中,不同点在于开发者可以使用 var 声明 lambda 参数。乍一看,这一举措似乎有点多余,因为在写代码过程中可以省略 lambda 参数的类型,并通过类型推断确定它们。但是,扩展名对于使用 @Nonnull 和 @Nullable 等类型注释很有用。

// Inference von Lambda-Parametern Consumer printer = (var s)
-> System.out.println(s); // statt s -> System.out.println(s); // aber keine Mischung von “var” und deklarierten Typen möglich //
BiConsumer<String, String> printer = (var s1, String s2) ->
System.out.println(s1 + " " + s2); // Nützlich für Type Annotations
BiConsumer<String, String> printer = (@Nonnull var s1, @Nullable var
s2)

二

JDK 11 中另一个亮点在于仍处于实验阶段的新 HTTP Client API 的标准化,该 API 在 JDK 9 中被引入,在 JDK 10 中进行了更新,在本次 JDK 11 中包名由 jdk.incubator.http 改为 java.net.http。HTTP Client API 除了实现了HTTP(1.1和2)、WebSocket,同步和异步调用以及 Reactive Streams 现在也受支持。还使用清晰易懂的 Fluent 界面,将来可能会淘汰其他 HTTP 客户端(如 Apache)的使用。

HttpClient client = HttpClient.newHttpClient(); HttpRequest request =
HttpRequest.newBuilder() .uri(URI.create(“http://openjdk.java.net/”))
.build(); client.sendAsync(request, asString())
.thenApply(HttpResponse::body) .thenAccept(System.out::println)
.join();

三

JEP 330(启动单文件源代码程序)现在可以启动尚未编译的类。如今单文件程序在编写小实用程序时很常见,特别是脚本语言领域。从中开发者可以省去用 Java 编译程序等不必要工作,以及减少新手的入门障碍。在基于 Java 10 的程序中可以通过三种方式启动:

作为* .class文件
作为* .jar文件中的主类
作为模块中的主类
现在,Java 11 中可以在源代码文件中声明类:

java HelloWorld.java // statt

javac HelloWorld.java

java -cp . hello.World

在 Unix 操作系统上,Java 文件甚至可以直接作为 Shebang 文件执行:

#!/path/to/java --source version

./HelloWorld.java

在这里插入图片描述

其他值得注意的变化包括支持 Unicode 10 标准以及将 Profiler Flight Recorder 集成到 OpenJDK 中(之前仅适用于 Oracle JDK)。Flight Recorder 的目标是尽可能高效地记录应用程序数据,以便在出现问题时分析 Java 应用程序和 JVM。

API 的变化

此外,Java 类库也有不少小的改动。 特别是字符串:

| Welcome to JShell – Version 11 | For an introduction type: /help
intro // Unicode zu String jshell> Character.toString(100) $1 ==> “d”
jshell> Character.toString(66) $2 ==> “B” // Zeichen mit Faktor
multiplizieren jshell> “-”.repeat(20) $3 ==> “--------------------” //
Enthält ein Text keine Zeichen (höchstens Leerzeichen)? jshell> String
msg = “hello” msg ==> “hello” jshell> msg.isBlank() $5 ==> false
jshell> String msg = " " msg ==> " " jshell> msg.isBlank() $7 ==> true
// Abschneiden von führenden oder nachgelagerten Leerzeichen jshell> "
hello world ".strip() $8 ==> “hello world” jshell> "hello world
".strip() $9 ==> “hello world” jshell> "hello world ".stripTrailing()
$10 ==> “hello world” jshell> " hello world ".stripLeading() $11 ==>
"hello world " jshell> " ".strip() $12 ==> “” // Texte zeilenweise
verarbeiten jshell> String content = “this is a multiline content
Mostly obtained from some file which we will break into lines using
the new api” content ==> “this is a multiline content Mostly obtained
fro … ines using the new api” jshell>
content.lines().forEach(System.out::println) this is a multiline
content Mostly obtained from some file which we will break into lines
using the new api

在这里插入图片描述

Java 11 计划于上月,即 9 月 25 日发布。与 Java 10 不同,Java 11 不仅提供了长期支持,还将作为 Java 平台的参考实现。新的长期支持版本每三年发布一次,根据后续的发布计划,Java 17 将于 2021 年发布。

Java 11:删除了什么?

Oracle JDK 将不再包含 JavaFX(OpenJDK 从未提供过)。相反,JavaFX 通过 OpenJFX 作为单独的下载提供,并且可以像任何 Java 应用程序中的任何其他库一样使用。除 JavaFX 外,还将停止对 Applet 和 Java Web Start 的支持。如果仍然想使用 Java Web Start,那么必须保持在 JDK 8 的版本,直至 Oracle 停止免费更新后,花钱购买该服务。

在这里插入图片描述

另一个在 Java 11 中被弃用的 JavaScript 引擎 Rhino。预计它将在 Java 的未来版本中彻底消失。不过值得注意的是,Rhino 从未真正将自己断言为 Node.js 上的服务器端 JavaScript 实现基础。通过 GraalVM,Oracle 现在采用其他方式在 JVM 上本地运行其他编程语言。

顺便说一下,从 Java 11 开始,Java 运行时环境(JRE)将仅存在于服务器版本中,而不再存在于桌面中。但是,对于具有模块系统和 jlink 工具的桌面应用程序,开发者现在可以轻松创建或调整运行时环境。

JDK 11 是否值得更新?

今年四月,Oracle 发布官方声明表示即将停止对 JDK 8 的正常支持(免费更新):

2019 年 1 月之后,Oracle 将不会在其网站上发布 Java SE 8 商业使用的进一步更新下载。如需持续获取安全的 Bug 修复和安全补丁以及 Java SE 8 或以前版本的稳定性支持,可以通过 Oracle Java SE 高级版、Oracle Java SE 高级桌面、或 Oracle Java SE 套件。
在这里插入图片描述

这意味着,在 2019 年 1 月之后,开发者想要使用老版本只能付费了,从中也侧面看出,Oracle 在间接性鼓励用户主动升级。不过,据各种对 Java 用户调查如 Jaxenter 发现,大多数的开发者依旧停留在 Java 8 以内的版本。

在这里插入图片描述

其实,这也不足为怪,当开发者刚开始吐槽新版本带来的问题时,Java 已搭载上了火箭更新到了下一版本,让大家措手不及。此前,就连 Java Collection Framework 的创建者 Josh Bloch 都在吐槽 Java 9 模块系统(Project Jigsaw)带来令人头痛的问题,甚至建议:

现在说 Project Jigsaw 将在 JDK 之外实现广泛使用还为时过早。与此同时,除非你有迫切需要,否则最好避免使用它们。
那么对于 JDK 11 是否值得立即更新使用?按照 Oracle 公布支持的路线图来看,如文章开头所述,Java 11 将会获得 Oracle 长期的服务支持,直至 2026 年 9 月。相比 Java 9 和 10 这两个仅提供半年技术支持的版本来说,JDK 11 的发布无疑对个人开发者以及企业都是一件好事。

在这里插入图片描述

那么,再结合其新特性,你会选择更新到 JDK 11 吗?

用 SemanticObject 把字段变成可点击链接:Fiori Elements Navigation Using a Link 的工程化实践 SAP Fiori elements 通过 Common.SemanticObject 注解可将字段转为可点击链接,实现应用间跳转。当源字段名与目标属性名不一致时,需使用 Common.SemanticObjectMapping 进行映射。该功能依赖 Fiori Launchpad 的目标映射配置,确保正确解析 semantic object + action 并传递参数。常见误区包括未配置目标映射或字段映射错误,需逐一检查语义标注、intent 解析和参数传递链路。 阅读详情

相关推荐

Ubuntu终端一键安装英伟达驱动:无需手动下载的完整指南

本文提供了一份在Ubuntu系统上通过终端命令一键安装英伟达显卡驱动的完整指南。该方法利用官方PPA源,无需手动下载驱动文件,可自动检测硬件并安装最佳版本,极大简化了流程,适合深度学习环境搭建等场景,有效提升安装效率与稳定性。

weixin_29232121的博客 181

Java基础知识

java基础总结

qq_28354033的博客 429

海康VisionMaster表面缺陷滤波实战:从参数调优到工业检测避坑指南

本文深入探讨海康VisionMaster表面缺陷滤波技术在工业检测中的应用,从参数调优到ROI绘制与Blob分析的协同策略,提供金属外壳、锂电池铝壳等复杂表面的缺陷检测实战指南。通过多级滤波架构和动态ROI生成法,显著提升检出率至98.7%,误检率低于0.5%,为工业质检提供智能化解决方案。

ujm5678901的博客 330

【java11】java11新特性介绍

Java11于2018年9月25日正式发布,Java11是继Java8之后的第一个LTS(Long-Term-Support)长期支持功能版本,与之前的版本(Java9和Java10)不同,它提供了长达3年的维护期,旨在提供稳定且长期的技术支持。Java11的发布也标志着Java版本发布周期的调整,即从原来的每两年发布一个大版本变为每六个月发布一次,其中每年3月和9月为大版本发布节点。Java11的技术支持将持续至2023年9月,而对应的补丁和安全警告等支持将持续至2026年。

morris 1万+

OLLAMA_HOST环境变量设置全攻略:从127.0.0.1到局域网共享的完整配置

本文详细解析了OLLAMA_HOST环境变量的核心作用与配置方法,指导用户如何将Ollama服务从仅限本机访问(127.0.0.1)扩展到局域网共享。文章涵盖了macOS、Linux、Windows三大平台的实战配置步骤,并提供了安全加固、性能优化及常见故障排查方案,是解决多设备协作访问本地AI模型的完整指南。

weixin_28455801的博客 1906

信号完整性SI-PI

SI设计的主要难点在于需要综合信号的幅度、噪声、边沿、延时等影响信号质量的多种因素,并且这种因素常常相互依赖、互相影响,交叉在一起。1.1、信号过冲 (欠阻尼状态,可并联一个合适的电容):过冲会造成强烈的电磁干扰,另一方面会损伤后面的电路的输入及,甚至失效。信号完整性SI:是指电路系统中信号的质量,如果在要求的时间内,信号能不失真的从源端传输到接收端。优点:提供较慢的上升时间,减少反系量,产生更小的EMI,从而降低过冲,增加信号质量。导线之间的间距过小, 就会产生串扰,间距越小、串扰越大。

weixin_42304393的博客 4872

Win10安装jdk11及环境变量配置

Win10安装jdk11及环境变量配置写在前面卸载旧版本jdk下载jdk11配置环境变量经验教训 写在前面 我第一次安装java是在17年初,距离现在已经一年半了。今天上oracle官网一看,jdk都已经更新到11.0.1了,然而我用的还是1.8.0_171版本的老古董,遂决定把jdk升级一下,结果没想到这一升级就折腾了老半天。在这里把我的升级的详细步骤以及经验教训和大家分享一下。 卸载旧版本jd...

climber16的博客 12万+

使用petalinux做嵌入式设计开发(1)

1.创建vivado工程,建立硬件环境,最终导出hdf文件 既可以在windows系统下的vivado上编写硬件工程并导出hdf文件,也可以在linux系统下的vivado中编写硬件工程并导出hdf文件。(对于windows系统下导出的hdf文件还需要传递到linux系统下的文件夹中。) 2.以hdf硬件文件为基础创建,配置,编译,打包petalinux工程,导出linux系统所需镜像文件。 具体步骤: (0)设置环境变量 设置环境变量使得我们可以直接使用petalin...

plotup的博客 2077

java11开源中国,Java 11 正式发布!

作者:OSC-局长来自:开源社区(oschina2013)如需转载请在文中注明来源和作者 美国当地时间9月25日,Oracle 官方宣布Java 11 (18.9LTS) 正式发布,可在生产环境中使用!这是自 Java 8 后的首个长期支持版本,非常值得大家的关注,可以通过下面的地址进行下载:https://www.oracle.com/technetwork/java/javase/down...

weixin_33552698的博客 396

【RT-DETR有效改进】利用ASF-YOLO改进特征融合层(附代码 + 详细教程)

本文给大家带来的改进机制是ASF-YOLO(发布于2023.12月份的最新机制),其是特别设计用于细胞实例分割。这个模型通过结合空间和尺度特征,提高了在处理细胞图像时的准确性和速度。在实验中,ASF-YOLO在2018年数据科学竞赛数据集上取得了卓越的分割准确性和速度,达到了0.91的box mAP(平均精度),0.887的mask mAP,以及47.3FPS的推理速度,效果非常的好,这个结构本来是用于分割的,我将其移植到了目标检测的模型上,所以其可以适用于分割和目标检测。

Snu77的博客 2295

redhawk:avgTW maxTW minTW minWC的区别

分析dynamic ir drop报告时会遇到这几个值,avgTW maxTW minTW minWC,如下图。我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?

m0_61544122的博客 696

java 11_Java 11 正式发布!8年免费使用!

原标题:Java 11 正式发布!8年免费使用!根据Oracle新出台的每6个月发布一次Java SE的节奏,美国时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可供生产环境中使用,这是自Java8后的首个长期支持版本,深得大家关注。●其下载地址如下:https://www.oracle.com/technetwork/java/javase/downloa...

weixin_35902481的博客 1836

第1集:面试官视角:AIOps 核心能力模型与面试项目全局搭建【免费试读】

本文介绍了一门面向AIOps工程师的面试实战课程,针对当前运维领域薪资差距明显的痛点,帮助学员系统掌握企业级AIOps平台开发能力。课程承诺提供可直接用于面试和生产环境的代码实现,从零构建模块化AIOps平台。第一集重点讲解了面试官视角下的核心能力模型,并指导学员搭建项目基础环境,包括Python虚拟环境配置、本地大模型部署(Ollama)以及智能巡检Agent的代码实现。课程强调实战导向,通过40集系统讲解,帮助学员实现薪资40-60万的职业跃升。

qq_2937655951的博客 616

Java 11 正式发布,新特性解读!

  北京时间 9 月 26 日,Oracle 官方宣布 Java 11 正式发布。这是 Java 大版本周期变化后的第一个长期支持版本,非常值得关注。你可以点击以下地址即刻下载: https://www.oracle.com/technetwork/java/javase/downloads/index.html 最新发布的 Java11 将带来 ZGC、Http Client 等重要特性...

weixin_40876133的博客 2327

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

java8发布_什么?Java8还没弄懂!Java 11就正式发布了!

想必有很多人对Java8都没有没有精通,但是Java11都已经发布了,Java程序猿们想必都抓破了脑袋!下面,我们就来具体的分析一下。Java官方宣布 Java 11 在北京时间 9 月 26 日正式发布。真是“千呼万唤始出来”。然而大多程序猿却不为之感冒,对于这 “Java XS MAX”,就和安卓开发的版本一样,绝大部分的开发版本总比官方的版本慢三个版本,这是“常识”。而在官方的强烈推荐下(不...

weixin_36433524的博客 270

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Java11完全兼容Java8吗_Java11正式发布,要不要升级请看这里!

为什么大家必须关注Java11?因为这是Java8之后的首个官方长期支持的版本,技术支持时间直到2023年9月份,补丁和扩展支持直到2026年9月份。美国当地时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用!image.pngJava8~Java11及后续版本路线图我们来看下面这张Oracle官方发布的支持路线图:image.png详细可以...

weixin_32787485的博客 1万+

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

8年java_Java 11 正式发布!8年免费使用!

根据Oracle新出台的每6个月发布一次Java SE的节奏,美国时间9月25日,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可供生产环境中使用,这是自Java8后的首个长期支持版本,深得大家关注。其下载地址如下:https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-50666...

weixin_32306885的博客 347

java 11_Java 11 正式发布!听说你还在使用使用 Java 7/8 ?

有多少语言在提刀想反超 Java 的路上?但万万没想到,人家并未当回事,如今这款常青藤甚至越跑越欢,当我们还在使用 Java 7/8时,它已经一路跑到了 11。和预期的时间差不多,北京时间 9 月 26 日,Oracle 官方宣布 Java 11 (18.9 LTS)正式发布,可供生产环境中使用,此次版本的更新,不仅提高了工作效率,也提供了 HTTP/2 Client API。同时,这也是自 Or...

weixin_39935571的博客 356

Java 19 正式发布,七大特性齐发,最常用的还是 Java 11!

整理 | 苏宓出品 | 优快云(ID:优快云news)时隔六个月,9 月 20 日,Java 19 如期而至,这一版本是自 Oracle 宣布 Java 以六个月为一周期发布的第十个版本。不过值得注意的是,JDK 19 是标准的非 LTS(长期支持)版本。话不多说,我们先来一起看一下最新版本的 Java 带来了哪些更新?Java 19的七大亮点更新根据官方发布的公告显示,Java 19 版本...

优快云资讯 5022

Eclipse 4.9 正式发布,支持 Java 11!

来源:https://www.oschina.net/news/100136/eclipse-4-9-released Eclipse 4.9 正式版已发布。 下载地址 Eclipse 4.9.0 Download http://download.eclipse.org/eclipse/downloads/drops4/R-4.9-201809060745/ 接下来看看 4.9 带...

javafirst 4338

Java 11 正式发布,带来ZGC、Http Client等重要特性!

Java 11 已经正式发布,官网下载:https://www.oracle.com/technetwork/java/javase/downloads/index.html  我们知道,从 Java 9 开始,JDK 就采用了新的发布模型,每 6 个月发布一个新版本。每 3 年有一个长期支持版本(Long Term Support,LTS)。Java 8 就是一个 LTS 版本。而刚刚发布的 ...

兴浩的博客 782

Eclipse 4.10.0 正式发布,全面拥抱 Java 11!

近日,Eclipse 官方团队于推特正式宣布推出号称“史上最强”的版本更新——Eclipse IDE 2018-12,此前有过“路透”的新特性亦如约而至,其中就包括一直备...

优快云资讯 2430
上一篇: Java 程序员不容错过的开发趋势
下一篇: @Java 开发者,Spring Boot 最流行的 16 条实践解读!
java1856905
博客等级 码龄8年 100粉丝 249原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值