Java libjli库的作用是什么?

时间:2018-06-29 13:20:05

标签: java java-native-interface

我正在使用JNI来允许C代码卸载Java中最好的工作。 In this question我试图链接 libjvm libjli 库以使我的代码正常工作,但是现在我在质疑我是否甚至需要 JLI 库。

我找不到任何能清楚说明 JLI 库的用途的文档。

This other SO question暗示 JLI 是一些OSX直通库:

#elif defined(__APPLE__)
// jli needs to be loaded on OSX because otherwise the OS tries to run the system Java

this blog也是如此:

  

在OS X上进行编译时,在jvm库之前链接jli库非常重要

我的问题:

  1. JLI 库的用途是什么?
  2. 在仅RedHat / CentOS的环境(无OSX)中进行C / Java JNI 开发是否需要它?

1 个答案:

答案 0 :(得分:1)

  

JLI库的作用是什么?

$chartURL = "api.php" // Use the JSON data function updateData() { Plotly.d3.json($chartURL, function(data){ processData(data) // Always returns TESTER instead of changing to what is shown in the select menu } ); } 包含一个启动程序界面,用于准备在命令行中传递的参数并使用它们启动虚拟机。

启动器main.c是所有Java程序的主要入口点。它准备C命令行参数,并将它们传递到libjli.so函数中,该函数执行参数解析,从JLI_Launch进行loading virtual machine,分叉原始线程,然后是passing control to the JVM

  

在仅RedHat / CentOS的环境(无OSX)中进行C / Java JNI开发是否需要它?

极不可能。如果需要,您可能做错了什么。至少我无法想象任何有用的通用用例。