Класс JdiDefaultExecutionControl
java.lang.Object
jdk.jshell.execution.StreamingExecutionControl
jdk.jshell.execution.JdiExecutionControl
jdk.jshell.execution.JdiDefaultExecutionControl
- Все реализованные интерфейсы:
AutoCloseable, ExecutionControl
public class JdiDefaultExecutionControl extends JdiExecutionControl
Реализация
ExecutionControl, используемая JShell-core по умолчанию. Запускает удалённый процесс — «удалённый агент». Взаимодействует с удалённым агентом через сокет и посредством JDI. Предназначена для работы с RemoteExecutionControl.- Начиная с:
- 9
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static interface |
JdiDefaultExecutionControl.JdiStarter |
Запускает внешний процесс, в котором могут выполняться фрагменты кода пользователя. |
Вложенные классы/интерфейсы, объявленные в интерфейсе ExecutionControl
ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException | Модификатор и тип | Интерфейс | Описание |
|---|---|---|
static final class |
ExecutionControl.ClassBytecodes |
Объединяет имя класса с байт-кодом класса. |
static class |
ExecutionControl.ClassInstallException |
При установке класса (загрузке или переопределении) возникла проблема. |
static class |
ExecutionControl.EngineTerminationException |
Произошло неожиданное завершение механизма выполнения. |
static class |
ExecutionControl.ExecutionControlException |
Абстрактный базовый класс всех исключений ExecutionControl. |
static class |
ExecutionControl.InternalException |
Возникла внутренняя проблема. |
static class |
ExecutionControl.NotImplementedException |
Команда не реализована. |
static class |
ExecutionControl.ResolutionException |
Исключение, указывающее, что обнаружен DeclarationSnippet с неразрешёнными ссылками. |
static class |
ExecutionControl.RunException |
Абстрактный базовый класс исключений, связанных с выполнением пользовательского кода. |
static class |
ExecutionControl.StoppedException |
Исключение, указывающее, что ExecutionControl.invoke(java.lang.String, java.lang.String) (или, теоретически, ExecutionControl.varValue(java.lang.String, java.lang.String)) было прервано вызовом ExecutionControl.stop(). |
static class |
ExecutionControl.UserException |
Произошло обычное пользовательское исключение. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
invoke |
Выполняет исполняемый фрагмент кода, вызывая метод указанного класса-обёртки. |
void |
stop() |
Прерывает выполняющийся удалённый вызов, изменяя удалённые переменные и отправляя команду остановки через JDI. |
protected VirtualMachine |
vm() |
Возвращает экземпляр JDI VirtualMachine. |
Методы, объявленные в классе JdiExecutionControl
redefine, referenceType | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
redefine |
Переопределяет указанные классы. |
protected ReferenceType |
referenceType |
Возвращает тип JDI ReferenceType, соответствующий указанному имени класса. |
Методы, объявленные в классе StreamingExecutionControl
addToClasspath, close, extensionCommand, load, varValue | Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addToClasspath |
Добавляет путь к пути классов выполнения. |
void |
close() |
Закрывает механизм выполнения. |
Object |
extensionCommand |
Выполняет нестандартную команду (или стандартную команду из более новой версии). |
void |
load |
Пытается загрузить новые классы. |
String |
varValue |
Возвращает значение переменной. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли этот объект какому-либо другому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии. Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает значение хеш-кода для этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие уведомления или прерывания, либо до истечения заданного промежутка реального времени. |
Подробное описание методов
invoke
public String invoke(String classname, String methodname) throws ExecutionControl.RunException, ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
Описание скопировано из интерфейса:
ExecutionControlВыполняет исполняемый фрагмент кода, вызывая метод указанного класса-обёртки. Метод не должен принимать аргументы и должен возвращать String.
- Определено в:
-
invokeв интерфейсеExecutionControl - Переопределяет:
-
invokeв классеStreamingExecutionControl - Параметры:
-
classname— класс, метод которого следует вызвать -
methodname— имя вызываемого метода - Возвращает:
- результат выполнения или null, если результат отсутствует
- Выбрасывает:
-
ExecutionControl.UserException— при возникновении пользовательского исключения во время вызова -
ExecutionControl.ResolutionException— если при вызове была предпринята прямая или косвенная попытка вызвать неразрешённый фрагмент кода -
ExecutionControl.StoppedException— еслиinvoke()был отменён вызовомExecutionControl.stop() -
ExecutionControl.EngineTerminationException— механизм выполнения завершил работу -
ExecutionControl.InternalException— возникла внутренняя проблема ExecutionControl.RunException
stop
public void stop() throws ExecutionControl.EngineTerminationException, ExecutionControl.InternalException
Прерывает выполняющийся удалённый вызов, изменяя удалённые переменные и отправляя команду остановки через JDI.
- Выбрасывает:
-
ExecutionControl.EngineTerminationException— механизм выполнения завершил работу -
ExecutionControl.InternalException— возникла внутренняя проблема
vm
protected VirtualMachine vm() throws ExecutionControl.EngineTerminationException
Описание скопировано из класса:
JdiExecutionControlВозвращает экземпляр JDI
VirtualMachine.- Определено в:
-
vmв классеJdiExecutionControl - Возвращает:
- виртуальная машина
- Выбрасывает:
-
ExecutionControl.EngineTerminationException— если виртуальная машина завершила работу или отключена
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.