用Java的JNI技术技术调用C++,C++运行效率会不会比单独运行时慢?

被调用的C++代码运行机制?... 被调用的C++代码运行机制? 展开
 我来答
千锋教育
2015-12-06 · 做真实的自己 用良心做教育
千锋教育
千锋教育专注HTML5大前端、JavaEE、Python、人工智能、UI&UE、云计算、全栈软件测试、大数据、物联网+嵌入式、Unity游戏开发、网络安全、互联网营销、Go语言等培训教育。
向TA提问
展开全部
  这要取决于在方法中执行的语句,如果只是作一些简的操作,调用C/C++代码反而会拉低效率,如果是比较复杂的一些运算如图像处理变换等,C/C++代码效率更高。

  java中引入jni技术的原由是由于java的运行效率较低,当遇到处理图像声音等需要大量运算的操作时,java力不从心。所以引入执行效率较高的C/C++代码供java调用,以弥补java的这一缺陷。

  jni虽然一定程度上能够提高效率,但要慎用,适当用。如果只作简单的加法,却用jni效率反而大大降低。并且jni会影响java的跨平台性和稳定性。
Draconious
推荐于2018-05-14 · TA获得超过6242个赞
知道大有可为答主
回答量:2142
采纳率:0%
帮助的人:2592万
展开全部
理论上用native方法比普通的Java方法运行效率要高一些。Java程序的运行时通过虚拟机来进行的,虽说提供了可移植性,但运行效率也比直接的可执行文件要低,因为多了很多不必要的中间过程。JNI是直接调用由C或C++生成的动态函数库,所以执行起来要快很多。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
archmageee4
2015-10-29 · TA获得超过1517个赞
知道大有可为答主
回答量:1581
采纳率:78%
帮助的人:929万
展开全部
在java to c 或者c to java的接口穿越时, 会损失一点性能.但总的来说无关紧要.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式