用于基本java.util操作的Java JNI

时间:2014-03-18 17:17:20

标签: java jvm java-native-interface

我发现,java.util.concurrent或java.lang中的许多操作都执行本机方法调用。

例如,来自compareAndSwapInt()的原生sun.misc.Unsafe可能会在高负载并发应用中广泛调用。

JNI调用被认为比java方法调用慢得多,无法通过JIT 内联或优化,并且此类调用具有自己的堆栈。我错了,这样的电话会以任何方式进行优化吗?或者JNI调用开销比它执行的作业要小得多(考虑compareAndSwapInt()示例)?

通常,我将使用JNI实现membars(看起来更好看,而不是使用不稳定的r / w)。通过JNI实现它们是一个好主意吗?如果不是,那么如何以更优化的方式做到这一点?

0 个答案:

没有答案