模块
jdk.jshell
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'是ExecutionControlProvider.defaultParameters()
中的Map键和带括号的值;
参见,例如, JdiExecutionControlProvider
。
其中'identifier'是来自Basic Multilingual Plane的Java identifier part characters的序列。
例如:
- 本地
- JDI:主机名(本地主机)
- 故障转移:1(JDI),2(JDI:发射(真),超时(3000)),3(本地)
- 从以下版本开始:
- 9
- 另请参见:
-
for execution implementation support
-
接口摘要 接口 描述 ExecutionControl 此接口指定实现可插入JShell执行引擎必须提供的功能。ExecutionControlProvider JShell用于生成评估Snippets所需的执行引擎的提供程序。ExecutionEnv 功能可用于可插拔的JShell执行引擎。 -
类摘要 类 描述 ExecutionControl.ClassBytecodes 使用类字节码捆绑类名。 -
异常摘要 异常 描述 ExecutionControl.ClassInstallException 类安装(加载或重新定义)遇到问题。ExecutionControl.EngineTerminationException 已发生未绑定的执行引擎终止。ExecutionControl.ExecutionControlException 所有ExecutionControl
异常的抽象基础。ExecutionControl.InternalException 发生了内部问题。ExecutionControl.NotImplementedException 该命令未实现。ExecutionControl.ResolutionException 表示遇到未解析引用的DeclarationSnippet
的异常。ExecutionControl.RunException 特定于运行用户代码的异常的抽象基础。ExecutionControl.StoppedException ExecutionControl.UserException 发生“正常”用户异常。SPIResolutionException 这个异常的构造和抛出嵌入在JShell核心实现生成的代码中,这样在执行RECOVERABLE_DEFINED
用户方法时,抛出此异常。