我正在使用以下环境变量进行 tomcat 配置,
JAVA_OPTS="-server -Djava.awt.headless=true -Xms384M -Xmx512M -XX:MaxPermSize=256M"
在这里我不明白 and 的含义是什么-D
,headless
虽然它不是强制性的,但我仍然很想知道:它是什么意思?
我正在使用以下环境变量进行 tomcat 配置,
JAVA_OPTS="-server -Djava.awt.headless=true -Xms384M -Xmx512M -XX:MaxPermSize=256M"
在这里我不明白 and 的含义是什么-D
,headless
虽然它不是强制性的,但我仍然很想知道:它是什么意思?
TDS 参考:JAVA_OPTS 总结(死链接。缓存在这里和这里。)
一个关于 X 服务器和图形渲染代码的模糊错误可能导致 WMS 请求失败,或者在某些情况下导致 Tomcat 崩溃。您可能会看到如下错误消息:
"java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment"
为避免这种情况,需要告知图形代码没有可用的图形控制台。这可以通过将 java.awt.headless 系统属性设置为 true 来完成,这可以使用 JAVA_OPTS 来完成:
JAVA_OPTS="-Xmx1024m -Xms256m -server -Djava.awt.headless=true" export JAVA_OPT
无头模式是缺少显示设备、键盘或鼠标的系统配置。听起来很意外,但实际上您可以在此模式下执行不同的操作,即使是图形数据。
适用于什么地方?假设您的应用程序重复生成某个图像,例如,每次用户登录系统时都必须更改的图形授权代码。创建图像时,您的应用程序既不需要显示器也不需要键盘。现在让我们假设您的项目中有一台没有显示设备、键盘或鼠标的大型机或专用服务器。理想的决定是使用该环境的强大计算能力来处理视觉和非视觉特征。然后可以将在无头模式系统中生成的图像传递给有头系统以进行进一步渲染。
来源和进一步阅读:http ://www.oracle.com/technetwork/articles/javase/headless-136834.html