jdk11特性介绍

9ea0eb53716e4fd4a2afb3d7a7814595.jpgJDK 11(也称为Java 11)是Java平台的一个重要版本,它引入了许多新特性和改进,旨在提高开发者的生产力和Java平台的性能。以下是一些JDK 11的主要特性:

 

 

局部变量类型推断(Local-Variable Syntax for Lambda Parameters):

 

允许在lambda表达式的参数中使用var关键字进行类型推断,这简化了代码编写,特别是在处理复杂的泛型时。然而,需要注意的是,这个特性实际上在Java 10中作为预览功能引入,并在Java 11中成为正式功能。

 

HTTP客户端(HTTP Client):

 

引入了一个新的HTTP客户端API,作为java.net.http包的一部分。这个API提供了完整的HTTP/2和WebSocket客户端功能,旨在替代旧的HttpURLConnection API。

 

动态类数据共享(Dynamic Class-Data Sharing):

 

允许JVM在多个Java虚拟机实例之间共享类元数据,以减少内存占用并提升启动时间。这对于容器化环境特别有用,如Docker和Kubernetes。

 

字符串API的更新:

 

增加了几个新的字符串操作方法,如isBlank()(检查字符串是否为空或仅包含空白字符)、strip()、stripLeading()、stripTrailing()(去除字符串两端的空白字符)等。

 

ZGC(Z Garbage Collector):

 

引入了一种新的垃圾收集器,旨在减少停顿时间。ZGC是一个可伸缩的低延迟垃圾收集器,适用于大堆(heap sizes)应用。

 

Epsilon垃圾收集器:

 

这是一个完全不做任何垃圾回收的收集器,一旦堆内存耗尽,JVM就会退出。这主要用于性能测试和内存泄漏检测。

 

Flight Recorder:

 

这是一个低开销的JVM性能分析工具,现在被集成到JDK中,并作为JVM的一部分提供。它允许开发者收集详细的运行时信息,以进行性能分析和调优。

 

JShell(Java Shell):

 

JShell是一个交互式编程环境,允许开发者直接运行Java代码片段,并立即看到结果。这对于学习和实验Java新特性非常有用。

 

集合API的更新:

 

增加了几个新的集合工厂方法,如List.of()、Set.of()、Map.of()和Map.ofEntries(),这些方法允许以不可变集合的形式快速创建集合实例。

 

移除Java EE和CORBA模块:

 

JDK 11移除了对Java EE和CORBA模块的内置支持,这些模块现在需要通过外部库来添加。这是Java平台向模块化迈进的一步,旨在减少JDK的大小和复杂性。

 

这些特性共同构成了JDK 11的丰富功能集,为Java开发者提供了更强大的工具集和更高效的开发环境。

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

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

相关文章

linux中vim编辑器的应用实例

前言 Linux有大量的配置文件,其中编辑一些配置文件,最常用的工具就是 Vim ,本文介绍一个实际应用的Vim编辑器开发文档的实例。 Vim是一个类似于Vi的著名的功能强大、高度可定制的文本编辑器,在Vi的基础上改进和增加了很多特性。…

【C语言零基础入门篇 - 17】:排序算法

文章目录 排序算法排序的基本概念冒泡排序选择排序插入排序 排序算法 排序的基本概念 1、什么是排序? 排序是指把一组数据以某种关系(递增或递减)按顺序排列起来的一种算法。 例如:数列 8、3、5、6、2、9、1、0、4、7 递增排序…

如何防止SQL注入

目录 SQL注入 1、 什么是SQL注入 2、 避免SQL注入 PreparedStatement【重点】 SQL注入 1、 什么是SQL注入 select * from tb_user where username 111 and password 111select * from tb_user where username 111 and password 111 or 11 用户输入的数据中有SQL关键词…

java日志框架之Log4j

文章目录 一、Log4j简介二、Log4j组件介绍1、Loggers (日志记录器)2、Appenders(输出控制器)3、Layout(日志格式化器) 三、Log4j快速入门四、Log4j自定义配置文件输出日志1、输出到控制台2、输出到文件3、输出到数据库 五、Log4j自…

【HTTPS】中间人攻击和证书的验证

中间人攻击 服务器可以创建出一堆公钥和私钥,黑客也可以按照同样的方式,创建一对公钥和私钥,冒充自己是服务器(搅屎棍) 黑客自己也能生成一对公钥和私钥。生成公钥和私钥的算法是开放的,服务器能生产&…

基于阿里云免费部署Qwen1-8B-chat模型并进行lora参数微调从0到1上手操作

文章目录 一、申请资源二、创建实例三、克隆微调数据四、部署Qwen1-8B-chat模型1、环境配置2、模型下载3、本地模型部署 五、模型微调1、拉取Qwen仓库源码2、微调配置3、合并微调参数4、本地部署微调模型 一、申请资源 阿里云账号申请PAI资源详细教程我已于部署ChatGLM3时写过…

MAC如何获取文件数字签名和进程名称

1、安装需要查看数字签名和进程名称的软件包 2、打开终端命令行(Terminal) 3、查找数字签名 在终端命令行中输入: codesign -dvv 安装的软件路径 2>&1 | grep "Authority" | head -n 1 | cut -d -f2”回显即为进程的数…

Unity 百度AI实现无绿幕拍照抠像功能(详解版)

目录 一、前言 1.抠像效果 2.去哪找百度ai抠图 3.基础流程跳过 二、获取AccessToken 1.什么是Token 2.为什么要获取Token 3.如何获取token 4.解析json 5.完整代码 三、抠像 1.准备地址 2.建立链接,和基本配置 3.图片格式转换 4.开始上传 5.获取回复…

Highcharts甘特图基本用法(highcharts-gantt.js)

参考官方文档: https://www.highcharts.com/docs/gantt/getting-started-gantt https://www.highcharts.com/demo/gantt/project-management https://www.hcharts.cn/demo/gantt 链接在下面按需引入 https://code.highcharts.com/gantt/highcharts-gantt.js htt…

[笔记]23年度展会信息— 吊钩 起升机构

1.吊钩的规格参数 5吨吊钩重26公斤 10吨64公斤。 另外一套型号,更轻: 不确定是结构设计还是用钢材质达到了减重效果。 看看重载双滑轮吊钩: 50吨,400公斤,只是吊钩。 然后是行车吊钩与钢丝绳的直径。这在计算空载吊…

faiss安装 (CPU版本)

faiss版本 faiss-v1.7.4 cd faiss-v1.7.4cmake -B build . -DBUILD_TESTINGOFF -DFAISS_ENABLE_GPUOFF -DFAISS_ENABLE_PYTHONOFFmake -C build -j faiss; 默认安装路径如下 -- Installing: /usr/local/lib64/libfaiss.a -- Installing: /usr/local/include/faiss…

耦合微带线单元的网络参量和等效电路公式推导

文档下载链接:耦合微带线单元的网络参量和等效电路资源-CSDN文库https://download.csdn.net/download/lu2289504634/89583027笔者水平有限,错误之处欢迎留言! 一、耦合微带线奇偶模详细推导过程 二、2,4端口开路 三、2端口短路、3端口开路 四…

LeetCode 热题 100 回顾16

干货分享,感谢您的阅读!原文见:LeetCode 热题 100 回顾_力code热题100-CSDN博客 一、哈希部分 1.两数之和 (简单) 题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标…

win系统接入google_auth实现动态密码,加强保护

开源代码地址:windows动态密码: 针对win服务器进行的动态密码管控,需要配合谷歌的身份认证APP使用 (gitee.com) 为什么要搞个动态密码呢? 首先云服务器启用了远程访问,虽然更换了端口以及初始用户名,不过还是是不是被…

CleanClip For Mac 強大的剪貼簿助手Paste替代工具 v2.2.1

软件介绍: CleanClip是一款专为Mac设计的强大剪贴板管理工具,旨在提升用户的工作效率和生产力。这款应用完全采用原生Swift编写,为Mac用户提供了流畅、快速且直观的使用体验。CleanClip不仅支持文本内容的管理,还能处理图片、文件…

锂电池基础知识

1. 电池的发展史 电池是将化学能转变为电能的装置,通过电池内部的化学反应向外部提供直流电能 1800年Vote伏打电堆 1835年英国Daniel丹尼尔电池 1859年法国Plante铅酸蓄电池 1866年法国Leclanche锌锰电池 1899年瑞典Jungner镍镉电池 1950年Urry碱性电池 1990年索尼…

使用 GaLore 预训练LLaMA-7B

项目代码: https://github.com/jiaweizzhao/galorehttps://github.com/jiaweizzhao/galore 参考博客: https://zhuanlan.zhihu.com/p/686686751 创建环境 基础环境配置如下: 操作系统: CentOS 7CPUs: 单个节点具有 1TB 内存的 Intel CP…

【小沐学CAD】3ds Max常见操作汇总

文章目录 1、简介2、二次开发2.1 C 和 3ds Max C SDK2.2 NET 和 3ds Max .NET API2.3 3ds Max 中的 Python 脚本2.4 3ds Max 中的 MAXScript 脚本 3、快捷键3.1 3Dmax键快捷键命令——按字母排序3.2 3dmax快捷键命令——数字键3.3 3dmax功能键快捷键命令3.4 3Dmax常用快捷键——…

Gin框架入门(2)--异常捕获与日志实现

异常捕获 Go语言的异常捕获采用的是延迟处理的方法实现的,实际上就是利用defer,panic和recover三个关键字和函数来实现的。 关键字 defer关键字(函数) 这个关键字在控制语句中就有所涉及,本质上是采用一个栈的存储结构,在整个…

鸿蒙Harmony应用开发,数据驾驶舱登录页面的实现

鸿蒙Harmony应用开发,数据驾驶舱登录页面的实现 ​ 首先我们有个Splash 过渡页面来判断当前是用户是否登录,我们先从preferences中获取token是否存在。如果不存在直接跳转登录即可,如果存在的情况我们再去获取下用户的信息看看token是否过期…