跳过导航链接
A B C D E F G H I J L M N O P R S T U V W 

A

active() - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleController
激活当前模块
active(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
激活模块 激活的模块能正常的感知Event
argumentArray - 类 中的变量com.alibaba.jvm.sandbox.api.event.BeforeEvent
获取触发调用事件的方法参数

B

BeforeEvent - com.alibaba.jvm.sandbox.api.event中的类
方法调用BEFORE事件
BeforeEvent(int, int, ClassLoader, String, String, String, Object, Object[]) - 类 的构造器com.alibaba.jvm.sandbox.api.event.BeforeEvent
构造调用BEFORE事件
begin(int) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher.Progress
进度开始
broken() - 类 中的方法com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
 
broken() - 接口 中的方法com.alibaba.jvm.sandbox.api.http.printer.Printer
打断 将会唤醒因Printer.waitingForBroken()或Printer.waitingForBroken(long, TimeUnit)而被阻塞的线程

C

CallBeforeEvent - com.alibaba.jvm.sandbox.api.event中的类
方法调用追踪事件:BEFORE
CallBeforeEvent(int, int, int, String, String, String) - 类 的构造器com.alibaba.jvm.sandbox.api.event.CallBeforeEvent
构造调用事件
CallReturnEvent - com.alibaba.jvm.sandbox.api.event中的类
方法调用追踪事件:RETURN
CallReturnEvent(int, int) - 类 的构造器com.alibaba.jvm.sandbox.api.event.CallReturnEvent
构造调用事件
CallThrowsEvent - com.alibaba.jvm.sandbox.api.event中的类
方法调用追踪事件:THROWS
CallThrowsEvent(int, int, String) - 类 的构造器com.alibaba.jvm.sandbox.api.event.CallThrowsEvent
构造调用事件
cCnt(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
获取模块当前渲染的类个数
close() - 类 中的方法com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
 
close() - 接口 中的方法com.alibaba.jvm.sandbox.api.http.printer.Printer
关闭输出
com.alibaba.jvm.sandbox.api - 程序包 com.alibaba.jvm.sandbox.api
 
com.alibaba.jvm.sandbox.api.event - 程序包 com.alibaba.jvm.sandbox.api.event
 
com.alibaba.jvm.sandbox.api.filter - 程序包 com.alibaba.jvm.sandbox.api.filter
 
com.alibaba.jvm.sandbox.api.http - 程序包 com.alibaba.jvm.sandbox.api.http
 
com.alibaba.jvm.sandbox.api.http.printer - 程序包 com.alibaba.jvm.sandbox.api.http.printer
 
com.alibaba.jvm.sandbox.api.http.websocket - 程序包 com.alibaba.jvm.sandbox.api.http.websocket
 
com.alibaba.jvm.sandbox.api.listener - 程序包 com.alibaba.jvm.sandbox.api.listener
 
com.alibaba.jvm.sandbox.api.resource - 程序包 com.alibaba.jvm.sandbox.api.resource
 
ConcurrentLinkedQueuePrinter - com.alibaba.jvm.sandbox.api.http.printer中的类
高性能文本输出 高性能背后的代价就是相对比较高的CPU开销
ConcurrentLinkedQueuePrinter(PrintWriter, long, long, int) - 类 的构造器com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
构造文本输出
ConcurrentLinkedQueuePrinter(PrintWriter) - 类 的构造器com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
构造文本输出 delayStepTimeMs=20 delayMaxTimeMs=200 Integer.MAX_VALUE

D

delete(int, ModuleEventWatcher.Progress) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher
删除观察事件
delete(int) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher
删除观察事件
desc - 类 中的变量com.alibaba.jvm.sandbox.api.event.CallBeforeEvent
调用方法描述
disconnect() - 接口 中的方法com.alibaba.jvm.sandbox.api.http.websocket.WebSocketConnection
断开websocket连接
doClassFilter(int, String, String, String[], String[]) - 接口 中的方法com.alibaba.jvm.sandbox.api.filter.Filter
过滤出匹配的类
doClassFilter(int, String, String, String[], String[]) - 类 中的方法com.alibaba.jvm.sandbox.api.filter.NameRegexFilter
 
doClassFilter(int, String, String, String[], String[]) - 类 中的方法com.alibaba.jvm.sandbox.api.filter.OrGroupFilter
 
doMethodFilter(int, String, String[], String[], String[]) - 接口 中的方法com.alibaba.jvm.sandbox.api.filter.Filter
过滤出匹配的方法 严格意义上来说,方法Filter.doMethodFilter(int, String, String[], String[], String[])被调用的时候, 一定是Filter.doClassFilter(int, String, String, String[], String[])上一次返回true的调用。
doMethodFilter(int, String, String[], String[], String[]) - 类 中的方法com.alibaba.jvm.sandbox.api.filter.NameRegexFilter
 
doMethodFilter(int, String, String[], String[], String[]) - 类 中的方法com.alibaba.jvm.sandbox.api.filter.OrGroupFilter
 

E

Event - com.alibaba.jvm.sandbox.api.event中的类
调用事件 JVM方法调用事件
Event(Event.Type) - 类 的构造器com.alibaba.jvm.sandbox.api.event.Event
构造调用事件
Event.Type - com.alibaba.jvm.sandbox.api.event中的枚举
事件枚举类型
EventListener - com.alibaba.jvm.sandbox.api.listener中的接口
事件监听器
EventMonitor - com.alibaba.jvm.sandbox.api.resource中的接口
事件监控器
EventMonitor.EventPoolInfo - com.alibaba.jvm.sandbox.api.resource中的接口
事件池信息

F

fillInStackTrace() - 异常错误 中的方法com.alibaba.jvm.sandbox.api.ProcessControlException
 
Filter - com.alibaba.jvm.sandbox.api.filter中的接口
类和方法过滤器
find(Filter) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.LoadedClassDataSource
根据过滤器搜索出匹配的类集合
finish(int, int) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher.Progress
进度结束 如果是add方法,则影响的数量是递增; 如果是remove方法,则影响的数量是递减; 当彻remove完成之后,cCnt = mCnt = 0;
flush() - 类 中的方法com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
 
flush() - 接口 中的方法com.alibaba.jvm.sandbox.api.http.printer.Printer
刷盘
flush(boolean) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
刷新沙箱模块 刷新沙箱模块将会对当前已经加载的用户模块进行卸载并再次重新加载, 通常用于模块JAR文件更新之后对模块进行再次的重新加载
frozen() - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleController
冻结当前模块
frozen(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
冻结模块 冻结的模块将不会感知到Event,但代码的插桩还在

G

get(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
获取模块
getEventPoolInfo() - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.EventMonitor
获取事件池信息
getJarFile(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
获取模块所在的Jar文件
getNumActive() - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.EventMonitor.EventPoolInfo
获取已分配事件对象总数量
getNumActive(Event.Type) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.EventMonitor.EventPoolInfo
获取指定事件类型已分配对象数量
getNumIdle() - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.EventMonitor.EventPoolInfo
获取事件对象总空闲数量
getNumIdle(Event.Type) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.EventMonitor.EventPoolInfo
获取指定事件类型总空闲对象数量
getRespond() - 异常错误 中的方法com.alibaba.jvm.sandbox.api.ProcessControlException
 
getState() - 异常错误 中的方法com.alibaba.jvm.sandbox.api.ProcessControlException
 

H

Http - com.alibaba.jvm.sandbox.api.http中的注释类型
HTTP服务请求
Http.Method - com.alibaba.jvm.sandbox.api.http中的枚举
HTTP请求方法

I

ImmediatelyReturnEvent - com.alibaba.jvm.sandbox.api.event中的类
立即返回事件 该事件并非原生的方法返回事件,而是由ProcessControlException.throwReturnImmediately(Object) 所引起的返回事件
ImmediatelyReturnEvent(int, int, Object) - 类 的构造器com.alibaba.jvm.sandbox.api.event.ImmediatelyReturnEvent
构造立即返回事件
ImmediatelyThrowsEvent - com.alibaba.jvm.sandbox.api.event中的类
立即异常抛出事件 该事件并非原生的方法异常抛出事件,而是由ProcessControlException.throwThrowsImmediately(Throwable) 所引起的异常抛出事件
ImmediatelyThrowsEvent(int, int, Throwable) - 类 的构造器com.alibaba.jvm.sandbox.api.event.ImmediatelyThrowsEvent
构造立即异常抛出事件
InvokeEvent - com.alibaba.jvm.sandbox.api.event中的类
方法调用事件
InvokeEvent(int, int, Event.Type) - 类 的构造器com.alibaba.jvm.sandbox.api.event.InvokeEvent
构造调用事件
invokeId - 类 中的变量com.alibaba.jvm.sandbox.api.event.InvokeEvent
调用ID
isActivated(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
获取模块激活状态,判断当前模块是否已经被激活
isBroken() - 类 中的方法com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
 
isBroken() - 接口 中的方法com.alibaba.jvm.sandbox.api.http.printer.Printer
是否已经被打断
isLoaded(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
获取模块加载状态,判断当前模块是否已经被加载
isOpen() - 接口 中的方法com.alibaba.jvm.sandbox.api.http.websocket.WebSocketConnection
当前websocket连接是否已经打开

J

javaClassLoader - 类 中的变量com.alibaba.jvm.sandbox.api.event.BeforeEvent
触发调用事件的ClassLoader
javaClassName - 类 中的变量com.alibaba.jvm.sandbox.api.event.BeforeEvent
获取触发调用事件的类名称
javaMethodDesc - 类 中的变量com.alibaba.jvm.sandbox.api.event.BeforeEvent
获取触发调用事件的方法签名
javaMethodName - 类 中的变量com.alibaba.jvm.sandbox.api.event.BeforeEvent
获取触发调用事件的方法名称

L

LineEvent - com.alibaba.jvm.sandbox.api.event中的类
方法调用行事件
LineEvent(int, int, int) - 类 的构造器com.alibaba.jvm.sandbox.api.event.LineEvent
构造调用事件
lineNumber - 类 中的变量com.alibaba.jvm.sandbox.api.event.CallBeforeEvent
代码行号
lineNumber - 类 中的变量com.alibaba.jvm.sandbox.api.event.LineEvent
 
list() - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.LoadedClassDataSource
获取所有已加载的类集合
list() - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
列出所有的模块
loadCompleted() - 接口 中的方法com.alibaba.jvm.sandbox.api.ModuleLifecycle
模块加载完成,模块完成加载后调用!
LoadedClassDataSource - com.alibaba.jvm.sandbox.api.resource中的接口
已加载类数据源

M

mCnt(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
获取模块当前渲染的方法个数
ModuleController - com.alibaba.jvm.sandbox.api.resource中的接口
模块控制接口
ModuleEventWatcher - com.alibaba.jvm.sandbox.api.resource中的接口
事件观察者
ModuleEventWatcher.Progress - com.alibaba.jvm.sandbox.api.resource中的接口
进度报告 观察类是需要对类进行增强,有时候需要对大量的类进行渲染,耗时比较长。
ModuleEventWatcher.WatchCallback - com.alibaba.jvm.sandbox.api.resource中的接口
ModuleLifecycle - com.alibaba.jvm.sandbox.api中的接口
沙箱模块生命周期
ModuleManager - com.alibaba.jvm.sandbox.api.resource中的接口
模块管理器

N

name - 类 中的变量com.alibaba.jvm.sandbox.api.event.CallBeforeEvent
调用方法名
NameRegexFilter - com.alibaba.jvm.sandbox.api.filter中的类
类名和方法名正则表达式匹配过滤器
NameRegexFilter(String, String) - 类 的构造器com.alibaba.jvm.sandbox.api.filter.NameRegexFilter
构造名称正则表达式过滤器

O

object - 类 中的变量com.alibaba.jvm.sandbox.api.event.ReturnEvent
调用返回值
onAccept(HttpServletRequest, String) - 接口 中的方法com.alibaba.jvm.sandbox.api.http.websocket.WebSocketAcceptor
接受WebSocket创建连接请求 当从客户端发起一个WebSocket连接请求的时候会调用这个方法,从这个方法中返回一个连接处理的监听器来完成本次WebSocket请求
onActive() - 接口 中的方法com.alibaba.jvm.sandbox.api.ModuleLifecycle
模块激活 模块被激活后,模块所增强的类将会被激活,所有EventListener将开始收到对应的事件 这里抛出异常将会是阻止模块被激活的唯一方式
onClose(int, String) - 接口 中的方法com.alibaba.jvm.sandbox.api.http.websocket.WebSocketConnectionListener
在WebSocketConnection被关闭后被调用
onEvent(Event) - 接口 中的方法com.alibaba.jvm.sandbox.api.listener.EventListener
触发事件处理 事件处理是整个sandbox最重要的一环,也是整个系统设计的精髓所在 事件流转流程 +-------+ | | +========+ <return> +========+ | <return immediately> | | <return immediately> | | | | BEFORE |---------------------->| RETURN |<---+ | | | | +========+ +========+ | | ^ | <throws immediately> | | | | | <return immediately> | v | | +========+ | | | +--------------------------->| THROWS |<---+ <throws> | | | <throws immediately> +========+ | <throws immediately> | | +-------+
onFrozen() - 接口 中的方法com.alibaba.jvm.sandbox.api.ModuleLifecycle
模块冻结 模块被冻结后,模块所持有的所有EventListener将被静默,无法收到对应的事件。
onLoad() - 接口 中的方法com.alibaba.jvm.sandbox.api.ModuleLifecycle
模块加载,模块开始加载之前调用!
onMessage(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.http.websocket.TextMessageListener
从客户端传送过来的文本字符串
onOpen(WebSocketConnection) - 接口 中的方法com.alibaba.jvm.sandbox.api.http.websocket.WebSocketConnectionListener
在WebSocketConnection创建成功后被调用
onUnload() - 接口 中的方法com.alibaba.jvm.sandbox.api.ModuleLifecycle
模块卸载,模块开始卸载之前调用!
OrGroupFilter - com.alibaba.jvm.sandbox.api.filter中的类
分组匹配匹配 当多个过滤器需要以OR关系进行综合判断时,可以使用此类来帮助完成
OrGroupFilter(Filter...) - 类 的构造器com.alibaba.jvm.sandbox.api.filter.OrGroupFilter
构造组过滤器
owner - 类 中的变量com.alibaba.jvm.sandbox.api.event.CallBeforeEvent
调用类名

P

print(String) - 类 中的方法com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
 
print(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.http.printer.Printer
输出文本
Printer - com.alibaba.jvm.sandbox.api.http.printer中的接口
文本输出
println(String) - 类 中的方法com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
 
println(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.http.printer.Printer
输出文本
ProcessControlException - com.alibaba.jvm.sandbox.api中的异常错误
流程控制异常 用于控制事件处理器处理事件走向
ProcessControlException.State - com.alibaba.jvm.sandbox.api中的枚举
流程控制状态
processId - 类 中的变量com.alibaba.jvm.sandbox.api.event.InvokeEvent
调用过程ID
progressOnFailed(Class, int, Throwable) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher.Progress
进度报告(失败)
progressOnSuccess(Class, int) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher.Progress
进度报告(成功)

R

reset() - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
沙箱模块重置 沙箱模块重置时会强制冻结和强制卸载当前所有模块,并对系统模块和用户模块进行重新加载; 加载过程中如果发生模块加载失败,则主动忽略掉加载失败的模块
ReturnEvent - com.alibaba.jvm.sandbox.api.event中的类
方法调用RETURN事件
ReturnEvent(int, int, Object) - 类 的构造器com.alibaba.jvm.sandbox.api.event.ReturnEvent
构造调用RETURN事件

S

setMaxIdleTime(int) - 接口 中的方法com.alibaba.jvm.sandbox.api.http.websocket.WebSocketConnection
设置最大闲置时间

T

target - 类 中的变量com.alibaba.jvm.sandbox.api.event.BeforeEvent
获取触发调用事件的对象
TextMessageListener - com.alibaba.jvm.sandbox.api.http.websocket中的接口
基于文本消息的WebSocket监听器
throwable - 类 中的变量com.alibaba.jvm.sandbox.api.event.ThrowsEvent
抛出的异常/错误信息
throwException - 类 中的变量com.alibaba.jvm.sandbox.api.event.CallThrowsEvent
抛出的异常类名称
throwReturnImmediately(Object) - 异常错误 中的静态方法com.alibaba.jvm.sandbox.api.ProcessControlException
中断当前代码处理流程,并立即返回指定对象
ThrowsEvent - com.alibaba.jvm.sandbox.api.event中的类
异常/错误抛出事件
ThrowsEvent(int, int, Throwable) - 类 的构造器com.alibaba.jvm.sandbox.api.event.ThrowsEvent
构造异常/错误抛出调用事件
throwThrowsImmediately(Throwable) - 异常错误 中的静态方法com.alibaba.jvm.sandbox.api.ProcessControlException
中断当前代码处理流程,并抛出指定异常
type - 类 中的变量com.alibaba.jvm.sandbox.api.event.Event
事件类型

U

unload(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleManager
卸载指定模块

V

valueOf(String) - 枚举 中的静态方法com.alibaba.jvm.sandbox.api.event.Event.Type
返回带有指定名称的该类型的枚举常量。
valueOf(String) - 枚举 中的静态方法com.alibaba.jvm.sandbox.api.http.Http.Method
返回带有指定名称的该类型的枚举常量。
valueOf(String) - 枚举 中的静态方法com.alibaba.jvm.sandbox.api.ProcessControlException.State
返回带有指定名称的该类型的枚举常量。
values() - 枚举 中的静态方法com.alibaba.jvm.sandbox.api.event.Event.Type
按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。
values() - 枚举 中的静态方法com.alibaba.jvm.sandbox.api.http.Http.Method
按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。
values() - 枚举 中的静态方法com.alibaba.jvm.sandbox.api.ProcessControlException.State
按照声明该枚举类型的常量的顺序, 返回 包含这些常量的数组。

W

waitingForBroken() - 类 中的方法com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
 
waitingForBroken(long, TimeUnit) - 类 中的方法com.alibaba.jvm.sandbox.api.http.printer.ConcurrentLinkedQueuePrinter
 
waitingForBroken() - 接口 中的方法com.alibaba.jvm.sandbox.api.http.printer.Printer
挂起当前线程,等待被打断 线程挂起等待输出被打断 因为HTTP请求是短连接,所以这里为了避免线程立即返回,可以使用这个方法来阻塞当前Http请求响应线程,直至阻塞被中断 被打断过的请求无法再次被挂起等待,当曾经被调用过Printer.broken()之后,再次调用本方法将无法阻塞当前线程 有两种场景会打断本次挂起,任何以下场景都能结束并唤醒当前被阻塞的线程 网络I/O被中断 Printer.broken()被调用 Thread.interrupt()被调用
waitingForBroken(long, TimeUnit) - 接口 中的方法com.alibaba.jvm.sandbox.api.http.printer.Printer
挂起当前线程,等待被打断或超时 Printer.waitingForBroken()
watch(Filter, EventListener, ModuleEventWatcher.Progress, Event.Type...) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher
观察事件
watch(Filter, EventListener, Event.Type...) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher
观察事件
watchCompleted() - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher.WatchCallback
watching(Filter, EventListener, ModuleEventWatcher.Progress, ModuleEventWatcher.WatchCallback, ModuleEventWatcher.Progress, Event.Type...) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher
观察事件 和ModuleEventWatcher.watch(Filter, EventListener, Progress, Event.Type...)不一样的地方是,当观察结束时会自动delete观察事件 还原之前观察时被渲染的代码
watching(Filter, EventListener, ModuleEventWatcher.WatchCallback, Event.Type...) - 接口 中的方法com.alibaba.jvm.sandbox.api.resource.ModuleEventWatcher
观察事件 和ModuleEventWatcher.watch(Filter, EventListener, Progress, Event.Type...)不一样的地方是,当观察结束时会自动delete观察事件 还原之前观察时被渲染的代码
WebSocketAcceptor - com.alibaba.jvm.sandbox.api.http.websocket中的接口
WebSocketConnection监听器的构造工厂
WebSocketConnection - com.alibaba.jvm.sandbox.api.http.websocket中的接口
WebSocketConnection,用于描述一个WebSocket连接和封装对连接的操作
WebSocketConnectionListener - com.alibaba.jvm.sandbox.api.http.websocket中的接口
WebSocket 连接监听器
write(String) - 接口 中的方法com.alibaba.jvm.sandbox.api.http.websocket.WebSocketConnection
发送文本数据
A B C D E F G H I J L M N O P R S T U V W 
跳过导航链接

Copyright © 2017. All rights reserved.