405 字
2 分钟
java之jdk9新特性

参考链接#

Java 9 新特性概览——Github@Snailclimb

JEP 222: Java Shell Tool (JShell)

Java11新特性(三)——JShell使用教程&指南——CSDN@TechBro华仔

JEP 261: Module System (模块化系统)

JEP 248: G1 Becomes the Default Garbage Collector (G1 成为默认垃圾回收器)

JEP 254: Compact Strings (紧凑字符串)

JEP 193: Variable Handles (变量句柄)

我的其他文章#

这是我的写过jdk9的另外一个新特性

java之AOT编译

引言#

Java 9 发布于 2017 年 9 月 21 日。作为 Java 8 之后 3 年半才发布的新版本,Java 9 > 带来了很多重大的变化其中最重要的改动是 Java 平台模块系统的引入,其他还有诸如集合、> Stream 流……

JEP 222: Java Shell Tool (JShell)#

简单说就是一个可以和python、shell一样直接在终端上,执行可交互式式命令,但是执行的java程序,jshell会将其编译并运行

在终端上,直接输入jshell可以

执行的结果和错误都会立即显示在控制台上#

可以直接创建一个方法并调用#

可以覆盖方法#

Terminal window
jshell> String quintic(String a){
...> return "Know:" + a;
...> }
| 已修改 方法 quintic(String)
| 更新已覆盖 方法 quintic(String)
jshell> quintic("Base");
$9 ==> "Know:Base"
| 已创建暂存变量 $9 : String
jshell>

JEP 261: Module System (模块化系统)#

quick start#

申明一个模块,“com.greetings”是模块的名字#

目录: src/com.greetings/module-info.java

module com.greetings { }

目录: com/com.greetings/com/greetings/Main.java

package com.greetings;
public class Main {
public static void main(String[] args) {
System.out.println("Greetings!");
}
}

编译模块#

将编译内容输出文件夹mods

Terminal window
javac -d mods/com.greetings \
src/com.greetings/module-info.java \
src/com.greetings/com/greetings/Main.java

window下请用^分隔

运行模块#

Terminal window
java --module-path mods -m com.greetings/com.greetings.Main

java之jdk9新特性
https://iszengmh.pages.dev/posts/java之jdk9新特性/
作者
Rise Zeng
发布于
2026-04-14
许可协议
CC BY-NC-SA 4.0