写点什么

Java 18 开发者新特性详解:简易 Web 服务器、代码片段标注与 UTF-8 默认编码

作者:qife
  • 2025-08-09
    福建
  • 本文字数:668 字

    阅读完需:约 2 分钟

Java 18 开发者新特性

简易 Web 服务器模块

Java 18 在jdk.httpserver模块中提供了基础 Web 服务器功能,支持 API 调用和命令行启动:


$ jwebserver -b 0.0.0.0 -p 8000
复制代码


注意:该服务器仅限 HTTP/1.1 协议,不支持 PUT 请求和动态内容,适用于原型开发与测试场景。示例代码:


import java.net.InetSocketAddress;import java.nio.file.Path;import com.sun.net.httpserver.SimpleFileServer;import static com.sun.net.httpserver.SimpleFileServer.OutputLevel;
public class App { public static void main(String[] args) { var server = SimpleFileServer.createFileServer( new InetSocketAddress(8000), Path.of("/home/java"), OutputLevel.VERBOSE); server.start(); System.out.println("Server started on port 8000"); }}
复制代码

Javadoc 代码片段增强

通过 JEP 413 引入的@snippet标签改进代码文档:


/*** 展示Optional.isPresent用法:* {@snippet :* if (v.isPresent()) {*     System.out.println("v: " + v.get());* }* }*/
复制代码

默认 UTF-8 字符集

Java 18 统一采用 UTF-8 作为默认字符集,可通过-Dfile.encoding=COMPAT恢复旧版行为。

Finalization 弃用准备

使用--finalization=disabled参数测试无 finalize()时的应用行为,推荐改用 try-with-resources 或 Cleaner API。

预览功能

  • Vector API (JEP 417)

  • 外部函数与内存 API (JEP 419)

  • Switch 模式匹配 (JEP 420)

获取 Java 18

早期构建版本可从Eclipse Adoptium下载,功能对比参考Java Almanac。更多精彩内容 请关注我的个人公众号 公众号(办公 AI 智能小助手)公众号二维码


办公AI智能小助手


用户头像

qife

关注

还未添加个人签名 2021-05-19 加入

还未添加个人简介

评论

发布
暂无评论
Java 18开发者新特性详解:简易Web服务器、代码片段标注与UTF-8默认编码_Java_qife_InfoQ写作社区