## Uses of Interface
com.sun.jdi.VirtualMachine

- Packages that use VirtualMachine
  Package | Description
  --- | ---
  com.sun.jdi | This is the core package of the Java Debug Interface (JDI), it defines mirrors for values, types, and the target VirtualMachine itself - as well bootstrapping facilities.
  com.sun.jdi.connect | This package defines connections between the virtual machine using the JDI and the target virtual machine.
  jdk.jshell.execution | Provides implementation support for building JShell execution engines.

- - ### Uses of VirtualMachine in com.sun.jdi

    Subinterfaces of VirtualMachine in com.sun.jdi
    Modifier and Type | Interface | Description
    --- | --- | ---
    `interface` | `PathSearchingVirtualMachine` | A virtual machine which searches for classes through paths

    Methods in com.sun.jdi that return VirtualMachine
    Modifier and Type | Method | Description
    --- | --- | ---
    `VirtualMachine` | VirtualMachineManager.`createVirtualMachine​(Connection connection)` | Creates a new virtual machine.
    `VirtualMachine` | VirtualMachineManager.`createVirtualMachine​(Connection connection, Process process)` | Create a virtual machine mirror for a target VM.
    `VirtualMachine` | Mirror.`virtualMachine​()` | Gets the VirtualMachine to which this Mirror belongs.

    Methods in com.sun.jdi that return types with arguments of type VirtualMachine
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<VirtualMachine>` | VirtualMachineManager.`connectedVirtualMachines​()` | Lists all target VMs which are connected to the debugger.

  - ### Uses of VirtualMachine in com.sun.jdi.connect

    Methods in com.sun.jdi.connect that return VirtualMachine
    Modifier and Type | Method | Description
    --- | --- | ---
    `VirtualMachine` | ListeningConnector.`accept​(Map<String,? extends Connector.Argument> arguments)` | Waits for a target VM to attach to this connector.
    `VirtualMachine` | AttachingConnector.`attach​(Map<String,? extends Connector.Argument> arguments)` | Attaches to a running application and returns a mirror of its VM.
    `VirtualMachine` | LaunchingConnector.`launch​(Map<String,? extends Connector.Argument> arguments)` | Launches an application and connects to its VM.

  - ### Uses of VirtualMachine in jdk.jshell.execution

    Methods in jdk.jshell.execution that return VirtualMachine
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected VirtualMachine` | JdiDefaultExecutionControl.`vm​()` |
    `protected abstract VirtualMachine` | JdiExecutionControl.`vm​()` | Returns the JDI `VirtualMachine` instance.
    `VirtualMachine` | JdiInitiator.`vm​()` | Returns the resulting `VirtualMachine` instance.

    Methods in jdk.jshell.execution with parameters of type VirtualMachine
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | Util.`detectJdiExitEvent​(VirtualMachine vm, Consumer<String> unbiddenExitHandler)` | Monitor the JDI event stream for `VMDeathEvent` and `VMDisconnectEvent`.
    `protected ReferenceType` | JdiExecutionControl.`referenceType​(VirtualMachine vm, String name)` | Returns the JDI `ReferenceType` corresponding to the specified class name.