Java 通过JNI/DLL或EXE执行本机代码?
我们有一个本机应用程序,可以通过JNI->DLL或通过调用带有命令行参数的EXE来访问。哪种方法最好 我们将每天调用这个方法大约100次。性能并不是非常重要。这个本地应用程序是由我们公司以外的一个团队开发的,因此我们对代码不太熟悉(尽管我们拥有它)Java 通过JNI/DLL或EXE执行本机代码?,java,c,java-native-interface,native,Java,C,Java Native Interface,Native,我们有一个本机应用程序,可以通过JNI->DLL或通过调用带有命令行参数的EXE来访问。哪种方法最好 我们将每天调用这个方法大约100次。性能并不是非常重要。这个本地应用程序是由我们公司以外的一个团队开发的,因此我们对代码不太熟悉(尽管我们拥有它) EXE路径似乎更简单、更直接(特别是我们没有使用太多的C)。我还收集到,如果DLL代码出现内存泄漏或遇到其他问题,JNI可能会使JVM崩溃 对于这种情况,我会调用.exe,主要是因为在这种情况下,不稳定的应用程序无法破坏JVM 每天调用一个.exe
EXE路径似乎更简单、更直接(特别是我们没有使用太多的C)。我还收集到,如果DLL代码出现内存泄漏或遇到其他问题,JNI可能会使JVM崩溃 对于这种情况,我会调用.exe,主要是因为在这种情况下,不稳定的应用程序无法破坏JVM 每天调用一个.exe 100次,速度很快
另一方面,如果.dll提供了一个很好的API,那么如果出现问题,使用它可能会让您有更好的机会诊断问题。我强烈建议使用.exe方法