如何解决分析与检测-Java
| 基本问题:JVM向JVMTI提供了用于剖析和调试JVM的本机API。 JVM工具也一样(是吗?)。如果是,两者之间有什么区别?解决方法
我不认为Instrumentation是JVMTI是Instrumentation的超集。因为这两个都可以独立使用。
JVMTI基于事件,在事件处理程序中,我们可以捕获有关JVM的必需信息。
工具化是一种我们在其中修改字节码,从而在运行时在类中所需位置添加额外的代码段,然后再将其加载到JVM中的方式。这些额外的代码在执行时将有助于收集探查器所需的信息。
可以借助各种第三方jar(例如ASM)来实现检测。
根据我的知识和经验,这两个都是Java概要分析,而不是本机概要。
可能需要阅读更多文档并尝试不同的样本以更好地理解。
, JVMTI提供了调试器所需的所有功能,但是,如果您想要的不仅仅是JVMTI提供的功能,则需要使用Instrumentation。
, JVMTI是基本功能,可提供各种事件以进行调试,概要分析等。它提供的功能之一是访问拦截(和重新定义)类。 java.lang.instrument是JVMTI之上的Java包装器,它提供了一种很好的,简单的,可访问的方式来获取类加载事件。
可以将JVMTI视为java.lang.instrument的纯超集,但是需要用户编写C代码。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。