通过JNI将java对象的集合发送到本机函数,并将结果返回给java

时间:2014-01-25 15:16:29

标签: java c++ c struct java-native-interface

这些天我正在开发一个用java编写的新应用程序,它将通过JNI调用本机dll的函数。 该应用程序的主要目的是从Internet接收数据并将其保存到临时类对象。稍后,当创建的对象的数量达到200时,它应该将数据转换为c结构并将结构指针数组传递给本机dll函数。 本机函数将执行一些计算并返回一个新的结构数组(结果)。这些结构必须转换为java对象并传递给java端。 我必须注意,在java中重写本机代码功能不是一种选择。

性能非常重要,这就是我选择使用JNI的原因。 我已经阅读了很多帖子并得出结论,为了获得良好的性能,我将不得不最小化对JNI层的调用次数,最好的方法是一次性传递数据。

您认为执行此任务的最佳方式是什么? 我应该将数据序列化为字节数组,将其传递给本机端并将其反序列化为c结构吗? 还有其他有效的解决方案吗?

非常感谢你的帮助。

0 个答案:

没有答案