Java程序通过JNI调用C++程序的方法

Posted clever101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java程序通过JNI调用C++程序的方法相关的知识,希望对你有一定的参考价值。

JNI是什么

   JNI,全称为Java Native Interface,即Java本地接口,JNI是Java调用Native 语言的一种特性。通过JNI可以使得Java与C/C++机型交互。即可以在Java代码中调用C/C++等语言的代码或者在C/C++代码中调用Java代码。由于JNI是JVM规范的一部分,因此可以将我们写的JNI的程序在任何实现了JNI规范的Java虚拟机中运行。同时,这个特性使我们可以复用以前用C/C++写的大量代码JNI是一种在Java虚拟机机制下的执行代码的标准机制。代码被编写成汇编程序或者C/C++程序,并组装为动态库。也就允许非静态绑定用法。这提供了一个在Java平台上调用C/C++的一种途径。

JNI的应用场景

   JNI的应用场景主要有:

  1. 需要提升效率时,C++的运行效率比java快,需要优化算法时可以考虑C++;
  2. 需要控制关键算法时,java源码容易被人破解,C++编译完了就不能反编译了;
  3. 需要控制授权时,可以考虑用C++编写授权部分代码。

如何在windows平台和Linux平台上进行JNI编程

在windows平台上进行JNI编程

  首先确保在windows装有JDK(Java 语言的软件开发工具包)。本文的代码例子适配的windows JDK版本是jdk-8u181-windows-x64。本章节示范在windows平台上使用IntelliJ IDEA配合VisualStud

以上是关于Java程序通过JNI调用C++程序的方法的主要内容,如果未能解决你的问题,请参考以下文章

C通过JNI反向调用JAVA程序方法

通过 JNI 调用简单的 java 静态方法不起作用,尽管 c++ 编译并运行它

在JAVA中用JNI调用C++程序报错,说找不到所依赖的库。

混合编程jni 第五篇之C++ 访问 Java代码

混合编程jni 第五篇之C++ 访问 Java代码

[JAVA]JNI之HelloWorld