Класс JdiExecutionControl
java.lang.Object
jdk.jshell.execution.StreamingExecutionControl
jdk.jshell.execution.JdiExecutionControl
- Все реализованные интерфейсы:
AutoCloseable, ExecutionControl
- Прямые известные подклассы:
JdiDefaultExecutionControl
public abstract class JdiExecutionControl extends StreamingExecutionControl implements ExecutionControl
Абстрактная реализация интерфейса
ExecutionControl на основе JDI.- Начиная с:
- 9
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в интерфейсе ExecutionControl
ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создает экземпляр. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
redefine |
Переопределяет указанные классы. |
protected ReferenceType |
referenceType |
Возвращает соответствующий указанному имени класса объект JDI ReferenceType. |
protected abstract VirtualMachine |
vm() |
Возвращает экземпляр JDI VirtualMachine. |
Методы, объявленные в классе StreamingExecutionControl
addToClasspath, close, extensionCommand, invoke, load, stop, varValue
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе ExecutionControl
addToClasspath, close, extensionCommand, invoke, load, stop, varValue
Подробное описание конструкторов
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— текущий объект JDIVirtualMachine, возвращенный методомvm() -
name— имя класса для поиска - Возвращает:
- соответствующий объект
ReferenceType
© 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.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.jshell/jdk/jshell/execution/JdiExecutionControl.html