1.) 我想在Linux设备上运行Java程序。它可能是一个 Raspberry Pi,如果可能的话,我仍然对我的问题的更通用的解决方案感兴趣。
2.) 该 Java 程序使用 3D 图形。但我没有任何来源。
3.) 我想在低端机器上运行这个程序,但不需要“看到”该程序。该机器将被远程控制。
据我所知,当仅使用 java.awt.* 包时,一个名为事件调度线程开始,AWT 库的每个调用都由该线程管理,该线程本身将这些请求传递给底层操作系统。
由于AWT只是JFC的一小部分。Swing 组件等下面是什么并且“起作用”?
有没有办法让操作系统忽略任何这些请求以节省系统资源(例如 RAM、CPU、能耗)?
编辑:我不喜欢我的标题,非常感谢任何改进。
Edit2:忽略我的意思是操作系统不做任何计算,但不让程序知道它。
答案1
你可以尝试让 awt 运行无头模式通过设置java.awt.headless
系统属性。
例如,如果您的 java 程序是一个可执行的 jar 文件program.jar
,您可以使用以下命令启动它:
java -Djava.awt.headless=true -jar program.jar
答案2
AFAIKJava
出于安全原因,程序被设计为在运行时不会被修改。检查程序是否提供了任何开关 tryprogram --help
或program -h
。
由于您没有源代码来根据自己的喜好修改它,因此您唯一能做的就是更改niceness
或者renice
正在运行的进程。 (或检查CPU限制)
当您告诉我们您实际上想在 raspi 上运行哪个程序时,就有可能获得更好的答案。
最后有树莓派.stackexchange您可以另外检查板 - 但不要到处交叉发布相同的问题!