我正在尝试确定是否在我的 JVM 实例上默认启用了 JVM(使用 jdk 1.7u3)-server 选项。基于我的环境 (Windows 2008 Server R2) 和 Server-Class Machine detection information尽管我想明确知道,但我希望它会被设置。当然,我可以使用该选项显式启动 JVM,而且我很可能会这样做,不过是否有一种简单的方法来确定它。
我已经尝试过以下方法,但似乎都没有明确说明我在寻找什么。也许它编码在其他一些细节中。
- 通过 jVisualVM 查看 JVM 并查看未明确列出的 JVM 参数
以编程方式尝试查看 JVM 参数,与通过 jVisualVM 观察到的参数相匹配
RuntimeMXBean RuntimemxBean = ManagementFactory.getRuntimeMXBean(); List<String> arguments = RuntimemxBean.getInputArguments();
使用 JVM 选项 -XX:+PrintCommandLineFlags,这提供了详细信息,但仍然没有证据表明设置了 -server 选项。
最佳答案
您可以通过运行 java -version 命令找到:
下面是使用 -server 标志运行的 JVM 示例
Java 版本“1.7.0_17”
Java(TM) SE Runtime Environment (build 1.7.0_17-b02)
Java HotSpot(TM) 64 位服务器 VM(构建 23.7-b01,混合模式)
如果是 -client,它将显示 64 位客户端 VM
大多数情况下它取决于 CPU 和物理内存的数量。更多的 @ http://docs.oracle.com/javase/7/docs/technotes/guides/vm/server-class.html
关于java - 如何确定是否在 JVM 实例上设置了 -server 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11521691/