【发布时间】:2015-03-18 07:33:01
【问题描述】:
我们必须使用哪些可用技术来即时实施检测。到现在为止,我已经研究了一些用于字节码检测的 aspectj 和 javassits。
【问题讨论】:
-
我已经投票结束这个问题,因为它太宽泛了(而且我不是唯一一个投票的人)。顺便说一句,Vimlesh,AspectJ 仪器也可以通过 LTW 运行。还有一个 API 可让您在运行时手动执行此操作,而无需编织代理。
-
首先,您必须决定是想知道如何处理类的字节码(也称为字节码操作),还是想知道如何动态更新类(又名 Instrumentation),或者是否您正在搜索同时提供两者的图书馆。然后您可能会认为所有这些问题都是题外话,因为我们不是教程或图书馆搜索工具。
-
Holger,这里的“动态检测”是指在进程运行时更改已经检测的代码。例如,当系统即将启动时,您已经编织了 com.foo.bar..* 包,并且在运行时当进程从某个时间开始运行并且您想要为 com.foo.weaveme..* 添加挥动并禁用 com.foo 的编织。酒吧..*。编织应该在不重新启动进程的情况下发生。
标签: aspectj instrumentation java-bytecode-asm javassist bytecode-manipulation