Spec-Zone.ru › OpenJDK 25

Package jdk.jshell.spi

package jdk.jshell.spi
Определяет интерфейс поставщика служб для подключаемых движков выполнения JShell. Ядро JShell отслеживает и компилирует фрагменты, а затем отправляет их (представленные классом-обёрткой) движку выполнения для загрузки и, в случае исполняемых фрагментов, для выполнения. Реализация JShell включает движок выполнения по умолчанию (в настоящее время это удалённый процесс, управляемый с помощью JDI). Реализовав интерфейс ExecutionControl и его генерирующий класс, реализацию интерфейса ExecutionControlProvider и установив её с помощью JShell.Builder.executionEngine(String), можно использовать другие движки выполнения. Передаваемая строка задаёт спецификацию ExecutionControl.

Спецификация ExecutionControl — это имя ExecutionControlProvider, за которым может следовать спецификация параметров. Синтаксис спецификации:

spec   := name : params
       | name
name   := identifier
params := param , params
       | param
       |
param  := identifier ( value )
Где 'name' — это имя ExecutionControlProvider name. Где 'param' — ключ Map из ExecutionControlProvider.defaultParameters() и значение в скобках; см., например, JdiExecutionControlProvider. Где 'identifier' — это последовательность символов — частей идентификатора Java из базовой многоязычной плоскости.

Например:

  • local
  • jdi:hostname(localhost)
  • failover:1(jdi),2(jdi:launch(true),timeout(3000)),3(local)
Начиная с:
9
См. также:
  • для поддержки реализации выполнения
Пакет Описание
jdk.jshell
Предоставляет интерфейсы для создания инструментов, таких как цикл чтения-вычисления-вывода (REPL), которые интерактивно вычисляют «фрагменты» кода на языке программирования Java.
jdk.jshell.execution
Предоставляет поддержку реализации для создания движков выполнения JShell.
jdk.jshell.tool
Предоставляет механизм для запуска экземпляра инструмента оболочки Java.
Класс Описание
ExecutionControl
Этот интерфейс задаёт функциональность, которую необходимо предоставить для реализации подключаемого движка выполнения JShell.
ExecutionControl.ClassBytecodes
Объединяет имя класса с байт-кодом класса.
ExecutionControl.ClassInstallException
При установке класса (загрузке или переопределении) возникла проблема.
ExecutionControl.EngineTerminationException
Произошло неожиданное завершение работы движка выполнения.
ExecutionControl.ExecutionControlException
Абстрактный базовый класс всех исключений ExecutionControl.
ExecutionControl.InternalException
Произошла внутренняя проблема.
ExecutionControl.NotImplementedException
Команда не реализована.
ExecutionControl.ResolutionException
Исключение, указывающее на то, что обнаружен DeclarationSnippet с неразрешёнными ссылками.
ExecutionControl.RunException
Абстрактный базовый класс исключений, относящихся к выполнению пользовательского кода.
ExecutionControl.StoppedException
Исключение, указывающее на то, что ExecutionControl.invoke(java.lang.String, java.lang.String) (или, теоретически, ExecutionControl.varValue(java.lang.String, java.lang.String)) было прервано вызовом ExecutionControl.stop().
ExecutionControl.UserException
Произошло обычное пользовательское исключение.
ExecutionControlProvider
Поставщик, используемый JShell для создания движка выполнения, необходимого для вычисления фрагментов.
ExecutionEnv
Функциональность, предоставляемая подключаемому движку выполнения JShell.
SPIResolutionException
Создание и выброс этого исключения встроены в код, генерируемый реализацией ядра JShell, таким образом, что при выполнении пользовательского метода RECOVERABLE_DEFINED выбрасывается это исключение.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/jdk.jshell/jdk/jshell/spi/package-summary.html

Spec-Zone.ru

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