„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Was bewirkt das „native“ Schlüsselwort von Java und wann sollten Sie es verwenden?

Was bewirkt das „native“ Schlüsselwort von Java und wann sollten Sie es verwenden?

Veröffentlicht am 16.01.2025
Durchsuche:297

What Does Java\'s `native` Keyword Do and When Should You Use It?

Wozu dient das native Schlüsselwort in Java?

Mit dem nativen Schlüsselwort in Java können Sie kompilierte, dynamisch geladene Bibliotheken aufrufen, die in Sprachen wie geschrieben sind C oder C mit beliebigem Assemblercode aus Java. Dies ermöglicht Ihnen den Zugriff auf Funktionen auf niedrigerer Ebene, die in reinem Java möglicherweise nicht verfügbar sind.

So funktioniert es

Um nativen Code in Java zu verwenden, müssen Sie Folgendes tun Folgendes:

  1. Erstellen Sie eine Header-Datei (.h), die die Funktionsprototypen für die gewünschten nativen Methoden enthält call.
  2. Implementieren Sie die nativen Methoden in einer Quelldatei (.c oder .cpp).
  3. Kompilieren Sie den nativen Code in eine gemeinsam genutzte Bibliothek (.so unter Linux, .dll unter Windows).
  4. Laden Sie die gemeinsam genutzte Bibliothek mit System.loadLibrary() in Ihr Java-Programm.
  5. Verwenden Sie die nativen Methoden wie jedes andere Java Methode.

Beispiel

Unten ist ein einfaches Beispiel einer Java-Klasse, die eine in C geschriebene native Methode aufruft:

public class Example {
    public native int square(int i);
    public static void main(String[] args) {
        System.loadLibrary("Example");
        System.out.println(new Example().square(2));
    }
}

Entsprechender C-Code:

#include 
JNIEXPORT jint JNICALL Java_Example_square(
    JNIEnv *env, jobject obj, jint i) {
  return i * i;
}

Vorteile der Verwendung von nativem Code

Die Verwendung von nativem Code kann mehrere Vorteile bieten, darunter:

  • Gesteigerte Leistung: Nativer Code ist oft schneller als Java-Code, da er direkt auf Hardwareressourcen zugreifen kann.
  • Zugriff zur Systemfunktionalität auf niedriger Ebene: Nativer Code kann Aufgaben ausführen, die in reinem Java nicht möglich sind, z. B. die Verbindung mit dem Betriebssystem oder den Zugriff auf Hardwaregeräte.
  • Portabilität: Native Code kann für mehrere Plattformen kompiliert werden, was die Bereitstellung Ihrer Anwendung auf verschiedenen Plattformen erleichtert Systeme.

Überlegungen

Die Verwendung von nativem Code kann zwar von Vorteil sein, bringt aber auch einige Überlegungen mit sich:

  • Erhöhte Komplexität: Die Entwicklung und Pflege von nativem Code kann komplexer sein als die Verwendung von reinem Java.
  • Reduzierte Portabilität: Nativer Code wird für eine bestimmte Plattform kompiliert, was seine Portabilität einschränkt.
  • Sicherheitsrisiken: Das Schreiben von nativem Code erfordert Ein tiefes Verständnis der zugrunde liegenden Plattform und unsachgemäße Codierungspraktiken können Sicherheitsrisiken mit sich bringen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3