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

JAVA进化史: JDK11特性及说明

JDK 11(Java Development Kit 11)是Java平台的一个版本,于2018年9月发布。这个版本引入了一些新特性和改进,以下是其中一些主要特性。

HTTP Client(标准化)

JDK 11引入了一个新的HTTP客户端,用于替代过时的HttpURLConnection。新的HTTP Client提供了更现代、灵活的API,支持异步和同步操作。

// 使用新的HTTP Client发送GET请求
HttpClient httpClient = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder().uri(URI.create("https://www.example.com")).build();HttpResponse<String> response = httpClient.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());

 局部变量语法增强(var)

 JDK 11进一步增强了局部变量类型推断,允许在Lambda表达式中使用var

// 使用var进行局部变量类型推断
List<String> names = List.of("Alice", "Bob", "Charlie");
names.forEach((var name) -> System.out.println("Hello, " + name));

JEP 318: 引入了Epsilon垃圾收集器

JDK 11引入了Epsilon垃圾收集器,这是一种不做实际垃圾回收的垃圾收集器,主要用于性能测试和短暂任务。

JEP 330: 直接启动源码文件

JDK 11允许直接运行单文件源码程序,无需先进行编译。

// 直接运行单文件源码程序
// HelloWorld.java
public class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}
}
// 在命令行运行
java HelloWorld.java

JEP 329: 支持ChaCha20和Poly1305密码算法

JDK 11添加了ChaCha20和Poly1305加密算法的支持,这些算法被广泛用于加密通信。

// 使用ChaCha20和Poly1305加密算法
Cipher cipher = Cipher.getInstance("ChaCha20-Poly1305");

JEP 333: 一种可扩展的低延迟垃圾回收器ZGC(实验)

JDK 11引入了Z Garbage Collector(ZGC),这是一种实验性的、面向低延迟的垃圾收集器,适用于大内存堆的场景。

java -XX:+UseZGC -Xmx4g MyApp

JEP 335: 弃用Nashorn JavaScript引擎

JDK 11弃用了Nashorn JavaScript引擎,推荐使用更现代的JavaScript引擎,如GraalVM。

// 使用GraalVM JavaScript引擎
Context context = Context.create();
Value result = context.eval("js", "print('Hello, Nashorn!')");

其他改进和优化

JDK 11还包含一些其他的改进和优化,例如性能改进、新的命令行选项以及对标准库的更新。 

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

相关文章:

  • 模型 安索夫矩阵
  • 性能手机新标杆,一加 Ace 3 发布会定档 1 月 4 日
  • Vue 框架前导:详解 Ajax
  • 3分钟快速安装 ClickHouse、配置服务、设置密码和远程登录以及修改数据目录
  • PHP8使用PDO对象增删改查MySql数据库
  • 证明:切线垂直于半径
  • 普中STM32-PZ6806L开发板(STM32CubeMX创建项目并点亮LED灯)
  • 【Windows】共享文件夹拍照还原防火墙设置(入站,出站设置)---图文并茂详细讲解
  • 1.决策树
  • 基于微信小程序的停车预约系统设计与实现
  • 再见2023,你好2024
  • 年度总结|存储随笔2023年度最受欢迎文章榜单TOP15-part1
  • 微信小程序 手机号授权登录 偶尔后端解密失败
  • Mysql 容易忘的 sql 指令总结
  • 【SD】tile 模型 - 固定衣服 生成人物 ☑
  • StackOverflowError的JVM处理方式
  • 基于DFA算法实现敏感词过滤
  • 模式识别与机器学习-无监督学习-聚类
  • Python中property特性属性是什么
  • vue3 全局配置Axios实例
  • EI级 | Matlab实现TCN-BiGRU-Multihead-Attention多头注意力机制多变量时间序列预测
  • WeNet语音识别分词制作词云图
  • Proxyman:现代本地Web调试代理工具
  • k8s中DaemonSet实战详解
  • 信号处理设计模式
  • Linux权限的基本理解
  • AI人工智能大模型讲师叶梓《基于人工智能的内容生成(AIGC)理论与实践》培训提纲
  • nat地址转换
  • 第12课 循环综合举例
  • Tuxera NTFS for Mac2024免费Mac读写软件下载教程