Java 调用 C 调用 Java

标签 java c java-native-interface

我想使用 JNI 从 Java 调用 C 函数。在 C 函数中,我想创建一个 JVM 并调用一些 Java 对象。当我尝试创建 JVM 时,JNI_CreateJavaVM 返回 -1。

所以,我想知道是否可以这样做。 C 代码被编译创建一个 .so 文件(在 linux 中),Java 代码调用 .so 文件中的函数。

任何执行 Java->C->Java 的示例都会有用。

谢谢。

最佳答案

不,很遗憾,这是不可能的。每个进程只能有一个 JVM,并且您已经在一个 JVM 进程中。

关于Java 调用 C 调用 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5411271/

相关文章:

java - 如何使用 ExecutorCompletionService

python - 使用 Python 库打包 C 库

java - 用java.nio在内存中写入文件?

c - 如何将 .pem 文件中的公钥传递给 Polarssl rsa_context

java - 如何从 jni 获取字符串资源 ID?

Android NDK 两个 Activity 使用相同的 JNI 函数

java - 使用正则表达式从 FQDN 中分割主机名和域名

java - 用数据库数据填充表不起作用

java - 在 hibernate validator 中将参数从验证传递到自定义 validator

SPI 24位地址设备的C结构