JNI类在Java之间的范围

时间:2012-10-19 13:58:49

标签: java c java-native-interface

我一直在与JNI合作一段时间,但是我现在正在尝试的是要求我从一个类初始化一些JNI变量并将它们从另一个类中设置。

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

1 个答案:

答案 0 :(得分:0)

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

静态分配或堆分配(malloc)由所有代码共享为可执行文件。

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