- java.lang.Object
 -  
      
- jdk.jshell.execution.StreamingExecutionControl
 -  
        
- jdk.jshell.execution.JdiExecutionControl
 
 
 
-  
       
- 实现的所有接口
 -  
         
AutoCloseable,ExecutionControl 
- 已知直接子类:
 -  
         
JdiDefaultExecutionControl 
public abstract class JdiExecutionControl extends StreamingExecutionControl implements ExecutionControl
摘要JDI实现ExecutionControl。- 从以下版本开始:
 - 9
 
 
-  
        
       
-  
             
嵌套类汇总
-  
               
Nested classes/interfaces declared in interface jdk.jshell.spi.ExecutionControl
ExecutionControl.ClassBytecodes, ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException, ExecutionControl.ExecutionControlException, ExecutionControl.InternalException, ExecutionControl.NotImplementedException, ExecutionControl.ResolutionException, ExecutionControl.RunException, ExecutionControl.StoppedException, ExecutionControl.UserException 
 -  
               
 
-  
             
构造方法摘要
构造方法 变量 构造器 描述 protectedJdiExecutionControl(ObjectOutput out, ObjectInput in)创建一个实例。 
-  
             
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 voidredefine(ExecutionControl.ClassBytecodes[] cbcs)重新定义指定的类。protected ReferenceTypereferenceType(VirtualMachine vm, String name)返回与指定类名对应的JDIReferenceType。protected abstract VirtualMachinevm()返回JDIVirtualMachine实例。-  
               
声明方法的类 jdk.jshell.execution.StreamingExecutionControl
close 
-  
               
声明方法的类 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
-  
               
声明方法的接口 jdk.jshell.spi.ExecutionControl
addToClasspath, close, extensionCommand, invoke, load, stop, varValue 
 -  
               
 
 -  
             
 
-  
        
       
-  
             
构造方法详细信息
-  
JdiExecutionControl
protected JdiExecutionControl(ObjectOutput out, ObjectInput in)
创建一个实例。- 参数
 -  
              
out- 远程代理的输出 -  
              
in- 远程代理的输入 
 
 -  
 
-  
             
方法详细信息
-  
vm
protected abstract VirtualMachine vm() throws ExecutionControl.EngineTerminationException
返回JDIVirtualMachine实例。- 结果
 - 虚拟机
 - 异常
 -  
              
ExecutionControl.EngineTerminationException- 如果VM已死/已断开连接 
 
-  
redefine
public void redefine(ExecutionControl.ClassBytecodes[] cbcs) throws ExecutionControl.ClassInstallException, ExecutionControl.EngineTerminationException
重新定义指定的类。 其中'redefine'是JDI和JVMTI中的类的就地替换(保留类标识) - 也就是说,不需要重新编译对类的现有引用。 此实现使用JDIVirtualMachine.redefineClasses(java.util.Map)。 如果类的签名已更改,则不会成功(请参阅JDI规范)。 JShell核心旨在适应不成功的重新定义。- Specified by:
 -  
              
redefine在接口ExecutionControl - 参数
 -  
              
cbcs- 要重新定义的类名和字节码 - 异常
 -  
              
ExecutionControl.ClassInstallException- 重新定义类时发生异常,部分或全部未重新定义 -  
              
ExecutionControl.EngineTerminationException- 执行引擎已终止 
 
-  
referenceType
protected ReferenceType referenceType(VirtualMachine vm, String name)
返回与指定类名对应的JDIReferenceType。- 参数
 -  
              
vm- 当前的JDIVirtualMachine由vm()返回 -  
              
name- 要查找的类名 - 结果
 -  
              对应的
ReferenceType 
 
 -  
 
 -