首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JNI.h与JVMTi.h的实现

JNI.h与JVMTi.h的实现
EN

Stack Overflow用户
提问于 2013-04-05 14:23:32
回答 2查看 621关注 0票数 2

到目前为止,我正在开发一个只支持JNI而不支持JVMTI的软件。但我不能清楚地区分为什么JVMTI实际上是有帮助的,以及如果它以前与JNI一起工作,那么JVMTI将添加什么,因为它们似乎在做一些相同的工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-06 05:03:21

顾名思义,Java服务于将本机代码集成到应用程序中。这意味着您可以从java代码中调用用C编写的函数。

现在,JVMTI不一定要向添加任何东西,因为它服务于完全不同的目的。它为分析器、调试器等工具提供了JVMTI代理和Java虚拟机之间的通信方式。它只使用JNI,但实际上并没有添加任何东西。

票数 5
EN

Stack Overflow用户

发布于 2014-05-07 21:28:26

Java 使应用程序能够使用由其他语言(例如,c/c++或汇编语言)实现的库。它为JVM供应商和应用程序开发人员提供了一个标准的VM接口。

JVMTI是的最低层。下图说明了这一点:http://docs.oracle.com/javase/7/docs/technotes/guides/jpda/architecture.html

Components Debugger Interfaces

代码语言:javascript
复制
            /    |--------------|
           /     |     VM       |      <------- JVM TI
           \     |   back-end   |
            \    |--------------|
            /           |              <------- JDWP 
            \           |
                 |--------------|
                 | front-end    |
                 |--------------|      <------- JDI 
                 |      UI      |
                 |--------------|

简而言之,JVMTI只使用JNI。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15827236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档