Module
jdk.jshell
Package jdk.jshell.spi
定义可插拔JShell执行引擎的服务提供程序接口。
JShell核心跟踪和编译Snippets,然后将它们(在包装器类中表示)发送到执行引擎进行加载,而在可执行代码段的情况下执行。
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
。
“标识符”来自基本多语言平面的序列为Java identifier part characters 。
例如:
- 本地
- JDI:主机名(本地主机)
- 故障转移:1(JDI),2(JDI:发射(真),超时(3000)),3(本地)
- 从以下版本开始:
- 9
- 另请参见:
-
for execution implementation support
-
接口摘要 接口 描述 ExecutionControl 该接口指定了实现可插拔JShell执行引擎必须提供的功能。ExecutionControlProvider JShell使用的提供程序来生成评估代码段所需的执行引擎。ExecutionEnv 功能可用于可插拔的JShell执行引擎。 -
类摘要 Class 描述 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
用户方法时抛出此异常。