我的任务是更新非常旧的用Java编写的代码,该代码使用Native.loadLibrary方法与c ++本机代码交互。整个Java实现都打包到一个.war文件中,并在Tomcat服务器上提供。
这是界面→
import com.sun.jna.Library;
import com.sun.jna.Native;
public abstract interface Validator extends Library {
public static final Validator instance = (Validator)Native.loadLibrary("libValidator.so", Validator.class);
public abstract int validate(int para1, byte[] data, int para2);
}
libValidator.so到处都有静态变量。当有服务器请求时,以下代码称为→
int response = Validator.instance.validate(gameMode, data,length);
我很好奇的是,如果有很多对Web服务器的请求,libValidator.so中静态变量的状态将在请求之间共享?
我来自.Net背景,因此如果P / Invoke,答案是肯定的。