TGViewer
Java Developer Java Developer @java_tg · 14.8K subscribers
Post #3054 3.22K
👩‍💻 JNI (Java Native Interface)

JNI — это встроенный интерфейс, который позволяет Java-коду вызывать функции из C или C++ и работать с нативными библиотеками операционной системы.

Он используется, когда нужно взаимодействовать с нативным кодом, применять специфичный для платформы функционал или подключить библиотеки, недоступные на Java.

Пример Java-класса:
public class HelloJNI {
public native void sayHello();
static {
System.loadLibrary("hello");
}
}


Соответствующая C-реализация:
#include <jni.h>
#include <stdio.h>
#include "HelloJNI.h"

JNIEXPORT void JNICALL Java_HelloJNI_sayHello(JNIEnv *env, jobject obj) {
printf("Hello from C!\n");
}

Функция Java_HelloJNI_sayHello должна строго соответствовать полному имени Java-класса и метода: Java_<ClassName>_<MethodName>.


Компиляция (Linux/macOS):
gcc -shared -fpic -I"$JAVA_HOME/include" -I"$JAVA_HOME/include/linux" -o libhello.so HelloJNI.c


Использовать JNI следует с осторожностью: ошибки в нативном коде могут привести к утечкам памяти, нарушению безопасности и краху JVM.

📌 JNI особенно полезен при работе с CUDA, OpenCV, аудиобиблиотеками, нативными API и при переносе существующего C/C++-кода в Java-приложение.


⛓ Ссылка на документацию

tags: #обучение

📱 Java Developer | Чат
  • 👍 11
  • ❤ 7
More from @java_tg
  1. Oct 3, 2026Сегодня один за другим ИИ-каналы говорят о «цифровом геноциде» корпорации Антропик: без во…
  2. Oct 3, 2026👩‍💻 Почему разработчики не умеют вовремя остановиться? Автор рассуждает, где проходит гр…
  3. Oct 2, 2026Post #4382
  4. Oct 2, 2026👩‍💻 Spring Boot + PostgreSQL с динамической схемой Практический кейс Pivot/EAV-архитекту…
  5. Oct 1, 2026👩‍💻 Что находится внутри OpenJDK Официальный репозиторий JDK — хорошее место, если хочет…
  6. Sep 30, 2026👩‍💻 Гексагональная архитектура в Spring Boot Автор статьи показывает альтернативу: вынес…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →