The JNI compiler generates four C++ class files for each Java class or interface that you compile; for example, if you compile A.B.MyClass, the following files are generated:
A_B_MyClass – proxy class.
A_B_MyClassArray – array proxy class.
A_B_MyClassArrayElement – array element proxy class (for internal use).
A_B_MyClassReturnValue – return value proxy class (for internal use).
If your C++ compiler supports namespaces, you can refer to proxy and array classes using scoped names; for example, A::B::MyClass.