JNI (Java Native Interface)

Specification (Java 17)

Basically broken into three parts:

Helpers

JNA

Source

JNR (jnr-ffi): Java Abstracted Foreign Function Layer

Java library for loading native libraries without writing JNI code by hand or using tools such as SWIG. JNR is a comparingly young project that target the same problem. Similarly as JNA or Bridj it does not require native programming. There's not much documentation or reviews at the moment, but JNR is often called promising.

Source

BridJ

Source

Project Panama

Website (OpenJDK)

GraalVM

Supports native execution of LLVM bitcode using Sulong. This enables interop to C/C++, Fortran, and other languages that can be compiled to LLVM bitcode.

Other FFI


Tags: vm   jvm   native   llvm  

Last modified 03 May 2022