Module jdk.attach

Class VirtualMachineDescriptor

java.lang.Object
com.sun.tools.attach.VirtualMachineDescriptor

public class VirtualMachineDescriptor extends Object
描述了一个Java虚拟机。

VirtualMachineDescriptor是一个容器类,用于描述Java虚拟机。它封装了一个标识符,用于标识目标虚拟机,并引用应在尝试附加到虚拟机时使用的AttachProvider。标识符是与实现相关的,但通常是进程标识符(或pid),在每个Java虚拟机在自己的操作系统进程中运行的环境中。

VirtualMachineDescriptor还有一个displayName。显示名称通常是一个人类可读的字符串,工具可能向用户显示。例如,显示系统上运行的Java虚拟机列表的工具可能使用显示名称而不是标识符。可以创建一个没有显示名称VirtualMachineDescriptor。在这种情况下,标识符被用作显示名称

VirtualMachineDescriptor实例通常是通过调用VirtualMachine.list()方法创建的。这将返回描述已知所有已安装的attach providers的Java虚拟机的完整描述符列表。

自版本:
1.6
  • Constructor Details

    • VirtualMachineDescriptor

      public VirtualMachineDescriptor(AttachProvider provider, String id, String displayName)
      从给定的组件创建一个虚拟机描述符。
      参数:
      provider - 用于附加到Java虚拟机的AttachProvider。
      id - 虚拟机标识符。
      displayName - 显示名称。
      抛出:
      NullPointerException - 如果任何参数为null
    • VirtualMachineDescriptor

      public VirtualMachineDescriptor(AttachProvider provider, String id)
      从给定的组件创建一个虚拟机描述符。

      此便利构造函数的工作方式就好像通过以下方式调用三参数构造函数一样:

      new VirtualMachineDescriptor(provider,  id,  id);

      也就是说,它创建一个虚拟机描述符,使得显示名称与虚拟机标识符相同。

      参数:
      provider - 用于附加到Java虚拟机的AttachProvider。
      id - 虚拟机标识符。
      抛出:
      NullPointerException - 如果provideridnull
  • Method Details

    • provider

      public AttachProvider provider()
      返回此描述符引用的AttachProvider
      返回:
      此描述符引用的AttachProvider
    • id

      public String id()
      返回此描述符的标识符组件。
      返回:
      此描述符的标识符组件。
    • displayName

      public String displayName()
      返回此描述符的显示名称组件。
      返回:
      此描述符的显示名称组件。
    • hashCode

      public int hashCode()
      返回此VirtualMachineDescriptor的哈希码值。哈希码基于描述符的组件,并满足Object.hashCode方法的一般合同。
      覆盖:
      hashCode 在类 Object
      返回:
      此描述符的哈希码值。
      另请参阅:
    • equals

      public boolean equals(Object ob)
      测试此VirtualMachineDescriptor与另一个对象是否相等。

      如果给定对象不是VirtualMachineDescriptor,则此方法返回false。要求两个VirtualMachineDescriptors被视为相等需要它们都引用相同的提供程序,并且它们的标识符相等。

      此方法满足Object.equals方法的一般合同。

      覆盖:
      equals 在类 Object
      参数:
      ob - 要将此对象与之比较的对象
      返回:
      如果给定对象是等于此VirtualMachineDescriptor的VirtualMachineDescriptor,则返回true
      另请参阅:
    • toString

      public String toString()
      返回VirtualMachineDescriptor的字符串表示形式。
      覆盖:
      toString 在类 Object
      返回:
      对象的字符串表示形式。