为了使用任何新的JNI函数,本机库必须导出返回JNI_VERSION_1_2的JNI_OnLoad函数。如果本机库未导出JNI_OnLoad函数,则VM假定该库仅需要JNI版本JNI_VERSION_1_1。如果VM无法识别JNI_OnLoad返回的版本号,则无法加载本机库。
然后,如果我没有定义JNI_OnLoad
函数,则使用的版本将是JNI_VERSION_1_1
。
所以我的问题是,假设我正在使用java 8,如果我没有指定JNI_OnLoad
因此使用版本{{1},我是否会遇到任何降级或进入某种“兼容模式”而不是JNI_VERSION_1_1
?
或者换句话说:即使我不使用最新添加的方法,是否有任何收益可以指定我想使用最新版本?