JNI 工作流程 java层调用system.load方法. 通过classloader拿到了so文件的绝对路径,然后调用nativeload()方法. 通过linux下的dlopen方法,加载并查找so库里的方法. 当前线程下的 JNIENV 会将所有的jni方法注册到了同一个Jvm中,so和class到了同一个进程空间 (人脸项目中就是在Strom的一个Worker JVM,多个executor线程共享一个faceEengine对象)(JNIENV 代表了java在本线程的运行环境,每个线程…