当前位置: 首页 > news >正文

【java11】java11新特性介绍

Java11于2018年9月25日正式发布,Java11是继Java8之后的第一个LTS(Long-Term-Support)长期支持功能版本,与之前的版本(Java9和Java10)不同,它提供了长达3年的维护期,旨在提供稳定且长期的技术支持。

Java11的发布也标志着Java版本发布周期的调整,即从原来的每两年发布一个大版本变为每六个月发布一次,其中每年3月和9月为大版本发布节点。

Java11的技术支持将持续至2023年9月,而对应的补丁和安全警告等支持将持续至2026年。

新功能JEP

最新发布的JAVA11将带来很多重要特性,一共17个需要我们关注的JEP。

参考文档:https://openjdk.org/projects/jdk/11/

17个JEP如下:

  • 181:Nest-Based Access Control
  • 309:Dynamic Class-File Constants
  • 315:Improve Aarch64 Intrinsics
  • 318:Epsilon: A No-Op Garbage Collector
  • 320:Remove the Java EE and CORBA Modules
  • 321:HTTP Client (Standard)
  • 323:Local-Variable Syntax for Lambda Parameters
  • 324:Key Agreement with Curve25519 and Curve448
  • 327:Unicode 10
  • 328:Flight Recorder
  • 329:ChaCha20 and Poly1305 Cryptographic Algorithms
  • 330:Launch Single-File Source-Code Programs
  • 331:Low-Overhead Heap Profiling
  • 332:Transport Layer Security (TLS) 1.3
  • 333:ZGC: A Scalable Low-Latency Garbage Collector(Experimental)
  • 335:Deprecate the Nashorn JavaScript Engine
  • 336:Deprecate the Pack200 Tools and API

新特性概览

Java 11带来了众多引人注目的新特性和改进,以下是关于Java 11新特性的详细概述:

新的字符串方法

Java11为字符串类添加了多个新方法,提升了字符串操作的便利性:

  • isBlank(): 检查字符串是否为空白。
  • lines(): 将字符串按行分割为流。
  • strip(): 去除前导和尾随空白。
  • stripLeading(): 去除前导空白。
  • stripTrailing(): 去除尾随空白。
  • repeat(int times): 重复字符串指定次数。

局部变量类型推断升级

在lambda表达式中引入了局部变量类型推断,允许使用 var 关键字来声明局部变量。

新的文件方法

  • Files.readString(): 读取文件内容为字符串。
  • Files.writeString(): 将字符串写入文件。

集合增强

在集合中引入了 toArray(IntFunction<A[]>) 方法,可以更加方便地将集合转换为数组。

HTTP Client

新的HTTP客户端API(java.net.http) 提供了同步和异步请求,支持HTTP/1.1和HTTP/2。

垃圾回收器改进

引入了新的垃圾回收器,如Epsilon GC,这是一个开销极低的垃圾回收器,用于性能测试。

更好的启动性能

通过删除旧的JavaEE和CORBA模块,Java11提高了JVM的启动性能。

Launch Single-File Source-Code Programs

可以直接运行单个Java源文件,不需要显式编译。比如:java HelloWorld.java

Flight Recorder

Java Flight Recorder (JFR) 是一个用于分析Java应用程序的诊断和性能分析工具,现在对所有用户免费开放。

新的垃圾回收器接口

引入了ZGC (Z Garbage Collector),一个可扩展的低延迟垃圾回收器。

http://www.lryc.cn/news/362572.html

相关文章:

  • 搜维尔科技:介绍下Manus的OptiTrack 手套,体验精致的每指触觉!
  • Element ui 快速入门(基础知识点)
  • [数据集][目标检测]脑肿瘤检测数据集VOC+YOLO格式9787张3类别
  • 兆易创新:周期已至 触底反弹?
  • 【分享】两种方法禁止修改Word文档
  • 藏品名称:龙凤呈祥摆件
  • Ubuntu server 24 (Linux) sudo 免输密码
  • Qt——控件
  • 6个迹象表明你的电脑电缆管理很糟糕,看下你有没有中招
  • 代码随想录算法训练营第二十八天|LeetCode93 复原IP地址、LeetCode78 子集
  • MongoDB CRUD操作:地理位置应用——通过地理空间查询查找餐厅
  • 从C++示例理解开闭原则
  • Java线程池execute和submit的区别
  • 什么是json
  • 基于聚类和回归分析方法探究蓝莓产量影响因素与预测模型研究附录
  • java类型转换
  • Unity打包Webgl端进行 全屏幕自适应
  • 36. 【Java教程】输入输出流
  • Visual C++2010学习版详细安装教程(超详细图文)
  • matlab图像处理入门
  • 关于线程池面试题,使用“豆包”训练答案
  • 【WRF理论第二期】模型目录介绍
  • 从了解到掌握 Spark 计算框架(一)Spark 简介与基础概念
  • linux bind函数
  • Flink系列一:flink光速入门 (^_^)
  • PySpark特征工程(III)--特征选择
  • Mongodb的数据库简介、docker部署、操作语句以及java应用
  • 七大战略性新兴产业崭露头角:新能源电燃灶或将成为未来厨房新宠
  • C#进阶-用于Excel处理的程序集
  • 持续总结中!2024年面试必问 20 道 Kafka面试题(五)