VMSupport 的替代方案是什么?

What's the alternative for VMSupport?

int java8 sun.misc.VMSupport 实用程序提供了多种 API,如 getAgentProperties() 等。但是,此实用程序已在 java11 版本中删除。这个 class 有其他选择吗?

Java 11+ 替代方案是 com.sun.tools.attach.VirtualMachine class (javadoc),它提供了 getAgentProperties() 方法。

来自 javadoc:

The following example demonstrates how VirtualMachine may be used:

  // attach to target VM
  VirtualMachine vm = VirtualMachine.attach("2177");

  // start management agent
  Properties props = new Properties();
  props.put("com.sun.management.jmxremote.port", "5000");
  vm.startManagementAgent(props);

  // detach
  vm.detach();

您还可以从 AttachProvider API (javadoc).

中获取一个 VirtualMachine 对象

(请注意,VMSupport class 仍作为 jdk.internal.vm.VMSupport 在 Java 17 代码库中,但 Java 17除非你使用非常大的大锤,否则将阻止你使用它。只是不要。)