Java Native Interface(JNI)既提供了JVM实现运行系统本机代码的能力,也提供了本机代码运行Java代码的能力(通过创建新的JVM实例)。 JNI最常见的目标语言是C和C ++,至少Sun / Oracle JDK实现提供了帮助程序命令(javap - 用于代码反汇编,javah用于代码生成)。
如何判断我是在64位JVM还是32位JVM(从程序中运行)?
如何判断运行我的应用程序的JVM是32位还是64位?具体来说,我可以用什么功能或属性来检测程序中的这个?
最近我进入了JVM细节并遇到了一个术语直接内存。 @Peter Lawrey的回答引起了我的注意。所有系统调用(如读写套接字和文件)仅使用...
在Ubuntu 12.04中,我从安装了Sun /甲骨文JDK7。当找到jni.h,它打印多个位置/usr/lib/jvm/java-6-openjdk-amd64/include/jni.h /usr/lib/jvm/jdk1.7.0_07/include/jni.h ...在......
在尝试访问DLL函数时从JVM获取EXCEPTION_ACCESS_VIOLATION
我正在尝试从我创建的自己的DLL文件中访问第三方DLL,但在使用JNI调用我自己的DLL时会出现JVM内存访问冲突。我试图调用的第三方dll是cfint64.dll。 ...
我正在尝试通过命令行生成JNI头文件。当我输入javah myclass.class时,错误是线程主java中的异常.IllegalArgumentException:不是...的有效类名
我可以从java代码本身以编程方式设置java.library.path吗?以下不起作用。 System.setProperty(“java.library.path”,“/ blah”);
使用Fluidsynth在Android上播放SoundFonts的笔记
有没有办法允许Android通过使用FluidSynth使用SoundFont文件播放声音?我一直在寻找jOrgan,但源代码似乎有点......至少可以说是压倒性的。 ...
我有一个应用程序和服务,通过本机级别的本地套接字(C ++ / JNI)连接。两者都是使用目标API级别21构建的,并且工作正常多年。最近我有......
我有一个本机应用程序启动JVM并通过JNI API调用一些方法。粗略地说,本机应用程序:启动JVM;使用PushLocalFrame创建一个新框架;构建Java ...
如何在jni中释放char **?我没有找到任何env函数来释放pstr以下Java_com_example_test(JNIEnv * env,jobject,jobjectArray内容){jsize len = env-> GetArrayLength(content); char ...
JNI代码返回字符串但得到错误java.lang.UnsatisfiedLinkError:com.package.openGeoDb()Ljava / lang / String;
我正在部署一个程序并遇到错误:由以下引起:java.lang.Exception:java.lang.UnsatisfiedLinkError:com.package.JniClass.JniGeoDbReader.openGeoDb()Ljava / lang / String;我设法......
来自Chilkat库的CkFtp2类的Android App崩溃
我正在开发和Android应用程序,它使用FTP通信,只是随机,我得到此错误,没有跟踪我的实际代码或由我编码的任何执行。我不能重现崩溃,我不......
发生了JNI错误 - Docker Oracle NoSQL容器
我已经做了几天研究,这是我的最后一颗子弹,希望你们能帮助我。我基本上试图在Oracle 12c关系数据库中创建一个指向...的外部表。
在Android JNI中使用OpenCL会因为一些开销而产生慢速代码
我使用OpenCL和OpenMP在android上实现了一个算法。 OpenMP实现比OpenCL实现慢大约10倍。 OpenMP:~250 ms OpenCL:~25 ms但总的来说,如果我测量...
如何使用JNI_CreateJavaVM来运行模块化Java应用程序
我将我们的原生Windows应用程序启动器从Java 8移植到Java 11.我们曾经调用JNI_CreateJavaVM方法来实例化JVM实例,找到主类并调用它的main方法。使用模块化应用程序,......
我在一台运行良好的计算机上用Eclipse Java Mars制作了一个大型程序。我将程序导出为可运行的Jar文件并运行它没有任何问题。即使我出口整个......
将java中的byte []转换为C ++中的unsigned char *的正确方法,反之亦然?
我是C ++和JNI的新手,我试图通过使用JNI找到一种正确的方法将java中的byte []转换为C ++中的unsigned char *,反之亦然! (我正在研究android)在谷歌寻找解决方案之后......
我们的应用程序包含一个用Java编写的部分和一个用C ++编写的部分。 Java部分是主要的应用程序,而C ++部分被编译成各个平台的动态库......
此示例程序旨在调用用C编写的本机方法.Java Code类HelloWorld {private native void print(); public static void main(String args []){new ...