jdk.jshell.execution (Java SE 23 & JDK 23)
Description: declaration: module: jdk.jshell, package: jdk.jshell.execution
Keywords: jdk.jshell.execution package

# Package jdk.jshell.execution

package jdk.jshell.execution
Provides implementation support for building JShell execution engines. Includes concrete and abstract implementations of the `ExecutionControl` interface. Also, provides related communication utilities. This package may be used to define alternative execution engines. The default JShell execution engine is included.

Since:
  9

- Related Packages
  Package
  Description
  jdk.jshell
  Provides interfaces for creating tools, such as a Read-Eval-Print Loop (REPL), which interactively evaluate "snippets" of Java programming language code.
  jdk.jshell.spi
  Defines the Service Provider Interface for pluggable JShell execution engines.
  jdk.jshell.tool
  Provides a mechanism to launch an instance of a Java shell tool.
- Class
  Description
  DirectExecutionControl
  An `ExecutionControl` implementation that runs in the current process.
  FailOverExecutionControlProvider
  Tries other providers in sequence until one works.
  JdiDefaultExecutionControl
  The implementation of `ExecutionControl` that the JShell-core uses by default.
  JdiDefaultExecutionControl.JdiStarter
  Start an external process where the user's snippets can be run.
  JdiDefaultExecutionControl.JdiStarter.TargetDescription
  The description of a started external process.
  JdiExecutionControl
  Abstract JDI implementation of `ExecutionControl`.
  JdiExecutionControlProvider
  A provider of remote JDI-controlled execution engines.
  JdiInitiator
  Sets up a JDI connection, providing the resulting JDI `VirtualMachine` and the `Process` the remote agent is running in.
  JdiInitiator.ProcessStarted
  Callback that should invoked when the remote process is invoked.
  LoaderDelegate
  This interface specifies the loading specific subset of `ExecutionControl`.
  LocalExecutionControl
  An implementation of `ExecutionControl` which executes in the same JVM as the JShell-core.
  LocalExecutionControlProvider
  A provider of execution engines which run in the same process as JShell.
  RemoteExecutionControl
  The remote agent runs in the execution process (separate from the main JShell process).
  StreamingExecutionControl
  An implementation of the `ExecutionControl` execution engine SPI which streams requests to a remote agent where execution takes place.
  Util
  Miscellaneous utility methods for setting-up implementations of `ExecutionControl`.