Spec-Zone.ru › OpenJDK 24

Пакет 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' — это имя name. Где 'param' — это ключ карты от ExecutionControlProvider.defaultParameters() и заключённого в скобки значения; см., например, JdiExecutionControlProvider. Где 'identifier' — это последовательность символов, являющихся частями идентификаторов Java (Java identifier part characters) из базовой многоязычной плоскости.

Например:

  • local
  • jdi:hostname(localhost)
  • failover:1(jdi),2(jdi:launch(true),timeout(3000)),3(local)
Since:
9
See Also:
  • для поддержки реализации выполнения
Пакет Описание
jdk.jshell
Предоставляет интерфейсы для создания инструментов, таких как цикл чтения-оценки-вывода (REPL), которые интерактивно оценивают "фрагменты кода" языка программирования Java.
jdk.jshell.execution
Предоставляет поддержку реализации для построения движков выполнения JShell.
jdk.jshell.tool
Предоставляет механизм для запуска экземпляра инструмента Java shell.
Класс Описание
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 это исключение выбрасывается.

© 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://download.java.net/java/early_access/jdk24/docs/api/jdk.jshell/jdk/jshell/spi/package-summary.html

Spec-Zone.ru

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