Это скорее мнение, чем ответ, но, учитывая, что у вас есть выбор, я настоятельно рекомендую не использовать JNI, а скорее обмениваться данными между вашим приложением C ++ и виртуальной машиной Java, используя другой механизм, такой как Sockets или веб-сервисы.Если вы все сделаете правильно, решение JNI будет явно намного быстрее, чем любая из этих альтернатив, но если производительность не имеет решающего значения, то мой опыт работы с JNI состоит в том, что его лучше избегать.) если вы не управляете своими Java-объектами JNI правильно, произойдут очень плохие вещи - в том числе и просто умирающая виртуальная машина.Я также обнаружил, что код JNI очень сложно протестировать.