Headless Mode

2025/04/06

一、背景

第一次看到headless这个词,先去搜索了下含义

叫作无头的,也就是说 java headless mode 翻译为中文就是 java 无头模式。

依旧不懂这个名词的意思,虽然翻译过来了。

继续搜索,网上的结果这样显示:

Java 无头模式(Headless Mode)是 Java 提供的一种特殊运行模式,允许在没有物理显示设备、键盘或鼠标的环境(如服务器、后台服务、命令行环境)中执行依赖于图形界面的操作。它通过虚拟化图形环境,支持部分图形功能(如生成图片、PDF、图表等),而无需实际显示器。

联系到这个用途我就可以理解了,就是类似后台执行的程序一样,不需要前台的一个展示界面。

二、Java Headless Mode

通过虚拟化一个“看不见的图形环境”(无头的图形环境),绕过对物理显示设备的依赖,但仍允许程序使用图形库的核心功能(如绘图、字体处理、图像生成)。

在服务器等无图形设备的环境中,依然能利用图形库完成关键任务(如生成报表、处理图片),是后台自动化处理的利器。

如何配置headless mode?

System.setProperty("java.awt.headless", "true");

三、类似场景

Chrome 无头模式:谷歌浏览器的无界面模式,用于自动化测试。

借助 Chrome 无头模式,您可以在无人值守的环境中运行浏览器,而无需任何可见的界面。从本质上讲,您无需 chrome 即可运行 Chrome。

四、参考