Spec-Zone.ru › OpenJDK 27

Класс LocalExecutionControl

java.lang.Object
jdk.jshell.execution.DirectExecutionControl
jdk.jshell.execution.LocalExecutionControl
Все реализуемые интерфейсы:
AutoCloseable, ExecutionControl
public class LocalExecutionControl extends DirectExecutionControl
Реализация ExecutionControl, выполняющаяся в той же JVM, что и ядро JShell.
Начиная с:
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
Произошло «обычное» исключение пользователя.

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

Конструктор Описание
LocalExecutionControl()
Создаёт экземпляр, используя загрузку классов по умолчанию, при которой делегирование выполняется системному загрузчику классов.
LocalExecutionControl(ClassLoader parent)
Создаёт экземпляр, используя загрузку классов по умолчанию, но делегируя её указанному родительскому загрузчику классов.
LocalExecutionControl(LoaderDelegate loaderDelegate)
Создаёт экземпляр, делегируя операции загрузчика указанному делегату.

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

Модификатор и тип Метод Описание
protected void clientCodeEnter()
Отмечает вход в пользовательский код.
protected void clientCodeLeave()
Отмечает выход из пользовательского кода.

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

addToClasspath, classesRedefined, close, extensionCommand, findClass, invoke, invoke, load, redefine, stop, throwConvertedInvocationException, throwConvertedOtherException, valueString, varValue
Модификатор и тип Метод Описание
void addToClasspath(String cp)
Добавляет путь к пути классов выполнения.
protected void classesRedefined(ExecutionControl.ClassBytecodes[] cbcs)
Уведомляет о переопределении классов.
void close()
Завершает работу этого движка выполнения.
Object extensionCommand(String command, Object arg)
Выполняет нестандартную команду (или стандартную команду из более новой версии).
protected Class<?> findClass(String name)
Находит класс с указанным двоичным именем.
protected String invoke(Method doitMethod)
Вызывает указанный метод «doit» — статический метод без параметров.
String invoke(String className, String methodName)
Вызывает исполняемый фрагмент Snippet, обращаясь к методу указанного класса-обёртки.
void load(ExecutionControl.ClassBytecodes[] cbcs)
Пытается загрузить новые классы.
void redefine(ExecutionControl.ClassBytecodes[] cbcs)
Пытается переопределить ранее загруженные классы.
void stop()
Прерывает выполняющийся вызов.
protected String throwConvertedInvocationException(Throwable cause)
Преобразует поступившие исключения в пользовательском коде в экземпляры подклассов ExecutionControl.ExecutionControlException и выбрасывает преобразованное исключение.
protected String throwConvertedOtherException(Throwable ex)
Преобразует поступившие исключения в коде агента в экземпляры подклассов ExecutionControl.ExecutionControlException и выбрасывает преобразованное исключение.
protected static String valueString(Object value)
Преобразует значение Object из ExecutionControl.invoke(String, String) или ExecutionControl.varValue(String, String) в String.
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()
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова метода notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова метода notify или interrupt, либо до истечения определённого промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова метода notify или interrupt, либо до истечения определённого промежутка реального времени.

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

LocalExecutionControl

public LocalExecutionControl(LoaderDelegate loaderDelegate)
Создаёт экземпляр, делегируя операции загрузчика указанному делегату.
Параметры:
loaderDelegate — делегат для загрузки классов

LocalExecutionControl

public LocalExecutionControl()
Создаёт экземпляр, используя загрузку классов по умолчанию, при которой делегирование выполняется системному загрузчику классов.

LocalExecutionControl

public LocalExecutionControl(ClassLoader parent)
Создаёт экземпляр, используя загрузку классов по умолчанию, но делегируя её указанному родительскому загрузчику классов.
Параметры:
parent — родительский загрузчик классов
Начиная с:
22

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

clientCodeEnter

protected void clientCodeEnter()
Описание скопировано из класса: DirectExecutionControl
Отмечает вход в пользовательский код.
Переопределяет:
clientCodeEnter в классе DirectExecutionControl

clientCodeLeave

protected void clientCodeLeave()
Описание скопировано из класса: DirectExecutionControl
Отмечает выход из пользовательского кода.
Переопределяет:
clientCodeLeave в классе DirectExecutionControl

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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