Класс 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
Вложенные классы
Вложенные классы/интерфейсы, объявленные в интерфейсе jdk.jshell.spi.ExecutionControl
ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
JdiExecutionControl(ObjectOutput out,
ObjectInput in) |
Создать экземпляр. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
redefine(ExecutionControl.ClassBytecodes[] cbcs) |
Переопределить указанные классы. |
protected ReferenceType |
referenceType(VirtualMachine vm,
String name) |
Возвращает JDI |
protected abstract VirtualMachine |
vm() |
Возвращает экземпляр JDI |
Методы, объявленные в классе jdk.jshell.execution.StreamingExecutionControl
close
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Методы, объявленные в интерфейсе jdk.jshell.spi.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-core разработан для адаптации к неудачному переопределению.
- Задано:
-
redefineв интерфейсеExecutionControl - Параметры:
-
cbcs- имя класса и байткоды для переопределения - Исключения:
-
ExecutionControl.ClassInstallException- ошибка при переопределении классов, некоторые или все не были переопределены -
ExecutionControl.EngineTerminationException- движок выполнения завершен
referenceType
protected ReferenceType referenceType(VirtualMachine vm,
String name)
Возвращает JDI ReferenceType, соответствующий указанному имени класса.
- Параметры:
-
vm- текущий JDIVirtualMachine, возвращаемыйvm() -
name- имя класса для поиска - Возвращает:
- соответствующий
ReferenceType
© 1993, 2020, 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/11/docs/api/jdk.jshell/jdk/jshell/execution/JdiExecutionControl.html