java - 类之间的 Java 中的 JNI 作用域

标签 java c java-native-interface

我使用 JNI 已经有一段时间了,但是我现在尝试的是需要我从一个类初始化一些 JNI 变量并从另一个类设置它们。

我的问题是,JNI 对每个类的工作方式是否相同(即每个类都没有私有(private)地址空间)。 即,我从一个类(示例 A 类)为我的 C 库中的一个文件范围变量分配内存(并设置它)。 这个变量是否仍会分配内存(并设置为一些数据),以便我在 B 类中使用它?

最佳答案

我知道的唯一一种提供私有(private)空间的机制是线程本地存储。

静态分配或堆分配 (malloc) 由所有代码片段共享到一个可执行文件中。

Windows API 提供了一些变化,但我们明确地使用它。

关于java - 类之间的 Java 中的 JNI 作用域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12975888/

相关文章:

java - 通过将 InMemory 更改为 Spring Data JPA/Mysql 分离实体

c - 如何在 yacc 中使用 yylval 和 union

c - 简单的c编程gui

c - 编写一个 C 程序来创建链表的副本

java - Firebase Android : how do I access params nested in data via RemoteMessage?

java - 桌面 TCP 流式传输 (java)

java - OnClick 监听器未按预期更改文本

java-native-interface - 为什么后续的 jni 线程在 currentThread().getClassLoader() 上返回 null?

java-native-interface - 在 JNI 中,如何给 jobjectArray 赋值?

java - 创建对象时出现 IllegalMonitorStateException