type
status
date
slug
summary
tags
category
titleIcon
password
icon
calloutIcon
JDK8以后的新特性
JDK11
JDK9
jshell
- 单行解释的交互工具 类似python
模块化
- 在模块src下写module-info.java 可以控制导出的子包,如果使用必须导入导出一块用
java
java
JDK10
var局部变量推导
不能赋值null 必须当场声明值,这一点类似const
JDK11
- 命令行java xxx.java 可直接执行单文件程序
- 支持#!(执行此脚本的程序),如#!/bin/bash,用bash执行的脚本,配合上一点写出Java单文件脚本 #!{jdk目录} —source {版本号}
JDK17
JDK14
文本块
- “””多行字符串,同python
java
instanceof增强
- 类型后 + 变量名,省去强转,可以结合switch case用
java
空指针提示增强
- 从NPE的行数改为对应变量


JDK16
record类
- 只能初始化构造传入,后续不能修改
java
JDK17
sealed类 - 显式声明继承结构
- sealed修饰的class必须要有子类;sealed类的子类必须为final/sealed/non-sealed;sealed类使用permits声明允许继承此类的子类;non-sealed同JDK8继承规则
switch增强
java
JDK21
JDK21
虚拟线程
- 同goroutine,从用户线程与平台线程一对一改为多对一,平台线程通过IO多路复用实现可被多个用户线程复用
- 作者:CamelliaV
- 链接:https://camelliav.netlify.app/article/jdk-new-features
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章