# 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 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.