一、背景
第一次看到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。
四、参考
- Using Headless Mode in the Java SE Platform
- 遇到的一个产品支持的特性中有下面这样一条
