# java-native-access/jna

Java Native Access

Repository: https://github.com/java-native-access/jna
Canonical: https://ross.abutalabs.com/products/jna
Language: Java
License: NOASSERTION
License Family: other
Last push: 2026-08-02T10:59:01+00:00

## Health v2 (maintenance only)
Score: 75/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 95, release rhythm 35, longevity 100
- inputs: {"age_days": 5605, "days_push": 31, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases, no_license
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 8930, forks 1685 (observed 2026-08-28T04:10:26.338928+00:00)

## What it is
Java Native Access (JNA) is a Java library that lets Java programs call native shared libraries (C/C++) using only Java code, without writing JNI boilerplate. Developers describe native functions and structures via Java interfaces, and JNA dynamically invokes them at runtime.

## Use cases
- call native C library functions from Java without writing JNI code
- access Windows API or macOS Cocoa features from a Java application
- map native structs and function pointers to Java interfaces
- avoid building and maintaining platform-specific JNI bindings
- interoperate with existing shared libraries (.so, .dll, .dylib) in Java

## When to choose
- you need to call native shared libraries from Java with minimal boilerplate
- you want cross-platform native access without compiling per-platform JNI code
- you prefer declaring native functions as Java interfaces over generated bindings

## When to avoid
- you need maximum performance for extremely hot call paths (raw JNI or the Foreign Function & Memory API may be faster)
- you are on a modern JDK and can use the built-in java.lang.foreign (Panama) API instead
- you need to call managed code (e.g., .NET or JVM) rather than native shared libraries

## Facets
- artifact type: library
- maturity: stable
- function: sdk, developer-tools
- domain: developer-tools, cross-platform, operating-systems
- platform: jvm, cross-platform, windows
- tags: jni, native-code, foreign-function-interface, system-programming, interop, linux, macos

## Member repositories
- java-native-access/jna (main) score 75

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:26.338928+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:24:32.471367+00:00, confidence not recorded.
  - readme: https://github.com/java-native-access/jna (fetched 2026-08-28T04:10:26.338928+00:00, sha a2d4fbbe4bbb)
- Data as of 2026-08-30T08:39:29.467469+00:00.
