Java 我可以检测主机是否是VM吗?

Java 我可以检测主机是否是VM吗?,java,virtual-machine,Java,Virtual Machine,有没有办法检测运行java应用程序的主机是不是虚拟计算机?只是想提醒用户,如果使用虚拟机,他们可能(很少)遇到问题,我们建议他们尽可能使用物理机器。正如链接的问题所解释的,是的,有办法 然而,在Java应用程序中执行此操作将更加棘手。您需要使用System.exec(…)来运行本机应用程序,或者使用JNI调用本机库来完成此任务 但坦率地说: 为什么纯Java应用程序会在VM上遇到问题?难道你不能找到问题并解决它,或者提供一个解决方法吗 如果不能,为什么不在发行说明中描述这个问题呢 虚拟机上出现

有没有办法检测运行java应用程序的主机是不是虚拟计算机?只是想提醒用户,如果使用虚拟机,他们可能(很少)遇到问题,我们建议他们尽可能使用物理机器。

正如链接的问题所解释的,是的,有办法

然而,在Java应用程序中执行此操作将更加棘手。您需要使用
System.exec(…)
来运行本机应用程序,或者使用JNI调用本机库来完成此任务

但坦率地说:

  • 为什么纯Java应用程序会在VM上遇到问题?难道你不能找到问题并解决它,或者提供一个解决方法吗

  • 如果不能,为什么不在发行说明中描述这个问题呢


虚拟机上出现问题的Java应用程序?老实说,我觉得这很难相信,除非您使用本机代码访问硬件,例如3D引擎。您是否介意提供一些关于主机和来宾操作系统、虚拟机软件以及您看到的问题类型的信息?以回答我的经验中的“为什么”问题。我们的客户不会告诉我们他们正在VM中运行我们的产品,直到他们开始出现性能问题。客户数周内都不会提到他们正在虚拟机中运行。如果我们能够更早地检测到它,提供配置建议,或者将它们移动到专用的硬件上,这将为我们节省很多痛苦。