Java项目采用JNI方式加载Quantlib c++(SWIG)库

Posted BBinChina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java项目采用JNI方式加载Quantlib c++(SWIG)库相关的知识,希望对你有一定的参考价值。

概要

QuantLib(https://github.com/lballabio/QuantLib) 是一个免费、开源的软件库,旨在为量化金融计算提供一个统一的、综合的软件框架。QuantLib 的源代码由 C++ 编写,得利于 C++ 在面向对象和泛型编程方面强大的表现力,以及C++对贴近底层所带来的出众执行效率,QuantLib 一方面可以清晰地描述各种复杂的金融产品,同时兼顾了计算速度。

主要功能
QuantLib 所提供的功能聚焦在两大领域:

期权定价以及相关计算;
固定收益产品定价以及相关计算。

因为Quantlib是c++编写的,而为了面向多语言场景,作者采用SWIG方式进行了封装,提供给Java、Python、CSharp等语言使用

本章主要讲解如何配置IDEA,让Java项目加载Quantlib提供的JNI包, JNI包下载(http://www.bnikolic.co.uk/ql/java.html

选择对应的环境及版本进行下载后:

  • 打开提供的Example项目

  • IDEA导入JNI及Dll: File -> Project Struct -> Libraries -> Java

需要导入Jar 及 dll

  • 运行Example提供的demo

总结:
生产时我们构建Java 分布式应用来提供Saas服务,底层采用的即是Quantlib库,金融数据有着量大需要实时计算的特点,所以需要性能优势明显的c++进行计算。

以上是关于Java项目采用JNI方式加载Quantlib c++(SWIG)库的主要内容,如果未能解决你的问题,请参考以下文章

JNI CPP实现jni接口,采用方法名来识别本地方法的方式(相对于动态加载) 报错解决方法

AS2.2使用CMake方式进行JNI/NDK开发

Android项目中JNI技术生成并调用.so动态库实现详解

spring boot jar包启动JNI相对路径加载dll方案二

spring boot jar包启动JNI相对路径加载dll方案二

Android JNI开发一: JNI基础知识