Question

I have a project that currently executes many external programs using java.lang.Process. Assuming that their functionality is also available in native library form, what would be the advantages of executing said library functions using JNA instead?

The process executions are fairly heavy - they take a few seconds to complete. Am I correct in thinking that performance gains would be minimal?

Was it helpful?

Solution

You might find this helpful: Execute native code via JNI/DLL or EXE?

We went with native execution. As per the accepted answer, there is less risk of memory leaks and it's easy to restart the native process as needed.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top