Пакет 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 имя. Где 'param' — это ключ из карты ExecutionControlProvider.defaultParameters() и значение в скобках; см., например, JdiExecutionControlProvider. Где 'identifier' — последовательность символов, являющихся частью идентификатора Java из базовой многоязычной плоскости. Например:
- local
- jdi:hostname(localhost)
- failover:1(jdi),2(jdi:launch(true),timeout(3000)),3(local)
- Since:
- 9
- See Also:
| Класс | Описание |
|---|---|
| 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, 2023, 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/21/docs/api/jdk.jshell/jdk/jshell/spi/package-summary.html