问题描述
很不解,多谢了。实在对不住,积分所剩不多。 问题补充:兄台误会我意思了,主要我没说清楚。我是指Java类中的某个函数的执行时间在C++中通过JNI方式调用执行要比通过Java传统方式执行要慢很多。wkfighting 写道
解决方案
建议你在论坛问问他RednaxelaFX
解决方案二:
将java类中的方法执行两次,估计第二次时间就正常了。我猜测是Java类的延迟装载造成第一次调用慢了,你可以试试看,不知道我猜测的对不对?
解决方案三:
你是什么样的代码呢?能再说具体一点吗?JVM本身也有优化的啊
解决方案四:
他说的是c++来调用java的类方法慢才正常啊,java的类都是基于jvm的,首先要有jvm,才能去调用java方法而jvm又基于操作系统他们就这样绕啊绕的,肯定慢了
解决方案五:
LZ,你的代码是什么样的呢?你的意思是不是说相同的代码,用Java写和用C++写,但是Java运行的效率要高于Java调用C++??
解决方案六:
理论上用native方法比普通的Java方法运行效率要高一些。Java程序的运行时通过虚拟机来进行的,虽说提供了可移植性,但运行效率也比直接的可执行文件要低,因为多了很多不必要的中间过程。JNI是直接调用由C或C++生成的动态函数库,所以执行起来要快很多。
时间: 2024-10-23 12:30:22