Figure 2. Tough but Elegant
JNI bridges the language gap between C++ and Java in this architecture. The C++ application contains a dynamically loaded Java Virtual Machine (JVM), the architecture exhibits a mix of in-process and out-of-process technologies.