Spec-Zone.ru › OpenJDK 27

Класс JdiExecutionControl

java.lang.Object
jdk.jshell.execution.StreamingExecutionControl
jdk.jshell.execution.JdiExecutionControl
Все реализованные интерфейсы:
AutoCloseable, ExecutionControl
Прямые известные подклассы:
JdiDefaultExecutionControl
public abstract class JdiExecutionControl extends StreamingExecutionControl implements ExecutionControl
Абстрактная реализация JDI для ExecutionControl.
Начиная с версии:
9

Краткое описание вложенных классов

Вложенные классы и интерфейсы, объявленные в интерфейсе 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
Произошло обычное пользовательское исключение.

Краткое описание конструкторов

JdiExecutionControl(ObjectOutput out, ObjectInput in)
Модификатор Конструктор Описание
protected
Создаёт экземпляр.

Краткое описание методов

Модификатор и тип Метод Описание
void redefine(ExecutionControl.ClassBytecodes[] cbcs)
Переопределяет указанные классы.
protected ReferenceType referenceType(VirtualMachine vm, String name)
Возвращает JDI ReferenceType, соответствующий указанному имени класса.
protected abstract VirtualMachine vm()
Возвращает экземпляр JDI VirtualMachine.

Методы, объявленные в классе StreamingExecutionControl

addToClasspath, close, extensionCommand, invoke, load, stop, varValue
Модификатор и тип Метод Описание
void addToClasspath(String path)
Добавляет путь к пути к классам выполнения.
void close()
Закрывает движок выполнения.
Object extensionCommand(String command, Object arg)
Выполняет нестандартную команду (или стандартную команду из более новой версии).
String invoke(String classname, String methodname)
Вызывает исполняемый фрагмент, вызывая метод указанного класса-обёртки.
void load(ExecutionControl.ClassBytecodes[] cbcs)
Пытается загрузить новые классы.
void stop()
Прерывает выполняющийся вызов.
String varValue(String classname, String varname)
Возвращает значение переменной.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и будет удалена в одном из следующих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до тех пор, пока он не будет пробуждён, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до тех пор, пока он не будет пробуждён, обычно посредством уведомления или прерывания, либо пока не истечёт заданное время.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до тех пор, пока он не будет пробуждён, обычно посредством уведомления или прерывания, либо пока не истечёт заданное время.

Подробное описание конструкторов

JdiExecutionControl

protected JdiExecutionControl(ObjectOutput out, ObjectInput in)
Создаёт экземпляр.
Параметры:
out — выходной поток удалённого агента
in — входной поток удалённого агента

Подробное описание методов

vm

protected abstract VirtualMachine vm() throws ExecutionControl.EngineTerminationException
Возвращает экземпляр JDI VirtualMachine.
Возвращает:
виртуальную машину
Выбрасывает:
ExecutionControl.EngineTerminationException — если виртуальная машина завершила работу или отключена

redefine

public void redefine(ExecutionControl.ClassBytecodes[] cbcs) throws ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException
Переопределяет указанные классы. «Переопределение», как и в JDI и JVMTI, представляет собой замену классов на месте (с сохранением идентичности класса) — то есть существующие ссылки на класс не требуют перекомпиляции. В этой реализации используется JDI VirtualMachine.redefineClasses(java.util.Map). Операция завершится неудачей, если сигнатура класса изменилась (см. спецификацию JDI). Ядро JShell разработано с учётом возможности неудачного переопределения.
Указано в:
redefine в интерфейсе ExecutionControl
Параметры:
cbcs — имя класса и байт-код для переопределения
Выбрасывает:
ExecutionControl.ClassInstallException — при возникновении исключения во время переопределения классов; некоторые или все классы не были переопределены
ExecutionControl.EngineTerminationException — если движок выполнения завершил работу

referenceType

protected ReferenceType referenceType(VirtualMachine vm, String name)
Возвращает JDI ReferenceType, соответствующий указанному имени класса.
Параметры:
vm — текущая JDI VirtualMachine, возвращённая методом vm()
name — имя класса для поиска
Возвращает:
соответствующий ReferenceType

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, способы обхода проблем и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API