Пакет 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
- См. также:
for execution implementation support
| Интерфейс | Описание |
|---|---|
| ExecutionControl | Данный интерфейс определяет функциональность, необходимую для реализации подключаемого движка выполнения JShell. |
| ExecutionControlProvider | Поставщик, используемый JShell для генерации движка выполнения, необходимого для оценки фрагментов кода. |
| ExecutionEnv | Функциональность, предоставляемая подключаемому движку выполнения JShell. |
| Класс | Описание |
|---|---|
| ExecutionControl.ClassBytecodes | Объединяет имя класса с байт-кодом класса. |
| Исключение | Описание |
|---|---|
| ExecutionControl.ClassInstallException | При установке (загрузке или переопределении) класса возникла проблема. |
| ExecutionControl.EngineTerminationException | Произошло непреднамеренное завершение работы движка выполнения. |
| ExecutionControl.ExecutionControlException | Абстрактный базовый класс всех |
| ExecutionControl.InternalException | Произошла внутренняя проблема. |
| ExecutionControl.NotImplementedException | Команда не реализована. |
| ExecutionControl.ResolutionException | Исключение, указывающее, что встречен |
| ExecutionControl.RunException | Абстрактный базовый класс исключений, специфичных для запуска пользовательского кода. |
| ExecutionControl.StoppedException | Исключение, указывающее, что выполнение |
| ExecutionControl.UserException | Произошло стандартное исключение пользователя. |
| SPIResolutionException | Создание и выброс этого исключения встроены в код, сгенерированный реализацией ядра JShell таким образом, что при выполнении |
© 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/spi/package-summary.html