Inhaltsverzeichnis
Syntax des nativen Schlüsselworts in Java
Wie funktioniert das Native-Schlüsselwort?
Beispiel
Vorteile des nativen Schlüsselworts in Java
Regeln
Fazit
Heim Java javaLernprogramm Natives Schlüsselwort in Java

Natives Schlüsselwort in Java

Aug 30, 2024 pm 03:21 PM
java

Das native Schlüsselwort fungiert als Verbindung zwischen der JAVA-Sprache und einem Teil des Codes oder der Bibliothek, der in anderen Sprachen außer JAVA geschrieben ist, was von der Maschine abhängen kann, auf der Sie arbeiten. Wenn das native Schlüsselwort auf eine Methode angewendet wird, bedeutet dies, dass die Methode mit nativem Code implementiert wird, der in einer anderen Sprache (wie C oder C++) über JNI (JAVA native Schnittstelle) geschrieben wurde.

Syntax des nativen Schlüsselworts in Java

Die Syntax von nativem Code ist dieselbe wie die der normalen Funktionsdefinition, wobei am Anfang der Funktion das Schlüsselwort „native“ hinzugefügt wird.

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Zum Beispiel:

public class testing
{public native String testMethod (String parameter);}
Nach dem Login kopieren

Hier ist die Öffentlichkeit ein Zugriffsmodifikator. Es sollte öffentlich sein, damit eine andere Datei es verwenden kann. Der String ist der Rückgabedatentyp der Funktion. Abhängig vom Schlüsselwort kann es eine Ganzzahl, ein Zeichen oder ein Boolescher Wert sein.  Der an diese Funktion übergebene Parameter ist ebenfalls vom Datentyp string. Alles sollte unterklassig gehalten werden.

Nach der Funktionsdeklaration rufen wir diese Funktion über das erstellte Objekt und die geladene Bibliothek auf.

public static void main(String[] args)
{
System.loadLibrary("testing");
testing testingnew = new testing();
String  output   = testingnew.stringMethod("NATIVE");
}
Nach dem Login kopieren

Die oben definierte Bibliothek sollte zuerst geladen werden, und dann wird ihr Objekt erstellt. Mit Hilfe dieses Objekts wird die native Funktion aufgerufen.

Wie funktioniert das Native-Schlüsselwort?

Es sollten zwei Dateien vorhanden sein. Einer enthält JAVA-Code, während der andere C/C++-Legacy-Code enthalten sollte. Zum Aufrufen des Legacy-Codes wird Java-Code verwendet. Dieser Legacy-Code interagiert mit der Hardware und gibt die erwartete Ausgabe zurück.

Wenn der Legacy-Code mit Hardware interagiert, folgt er nicht den von JAVA festgelegten Richtlinien. Dieser Code führt die gewünschte Verarbeitung durch, um die Ausgabe zu erhalten und die Ergebnisse an JNI weiterzuleiten. Die native Java-Schnittstelle checkt dann ihr Verzeichnis ein, das alle Regeln für den nativen Code enthält (diese befindet sich in einer Datei namens javah.exe im SDK). JNI ist als Teil des Java-Toolkits konzipiert. Nach dieser Verarbeitung veröffentlicht JAVA die Ausgaben in der JAVA-Sprache selbst. Wenn wir das JAVA-Programm erstellen, müssen wir sicherstellen, dass zwischen der JAVA-Datei und der Legacy-Datei eine Variablen-/Datenflussverbindung besteht, damit zwischen beiden ein reibungsloser Datenfluss gewährleistet ist.

Im Folgenden finden Sie Schritte zur Erläuterung der Verwendung nativer Schlüsselwörter:

  1. Schreiben Sie den JAVA-Code, der die native Methode enthält, laden Sie die gemeinsam genutzte Bibliothek und speichern Sie ihn mit „Dateiname.JAVA“.
  2. Kompilieren Sie JAVA-Code und konvertieren Sie den Code in Bytecode.
  3. Erstellen Sie eine C/C++-Header-Datei, die eine native Funktionssignatur enthält, die aufgerufen werden soll.
  4. Das Schreiben von C/C++-Code verfügt über eine native Methodenimplementierung.
  5. Führen Sie die ausführbare JAVA-Datei aus, um die Ergebnisse anzuzeigen.

Beispiel

Wir sollten Code in Eclipse schreiben und den Code ausführen, um eine Bibliothek zu erstellen, mit der dann C-Code implementiert wird.

Code: Paket com.slackerOne;

public class JPP {
public static native void pAccess();
public static native int pRead();
public static native void pWrite(int port, int output);
static{
System.loadLibrary("JPPlibs");
}
public void jAccess(){
JPP.pAccess();
}
public int jRead(){
return JPP.pRead();
}
public void jWrite(int port, int output){
JPP.pWrite(port, output);
}
}
Nach dem Login kopieren

Nachdem wir diesen Code in der neuen „Klasse“ des Java-Projekts gespeichert haben, müssen wir eine Ausführungsumgebung einrichten, um eine Header-Datei zu generieren.

Natives Schlüsselwort in Java

Wenn wir dies ausführen, sollte eine Bibliothek generiert werden.

Ausgabe:

Hier haben wir die Header-Datei aus dem Java-Code erstellt, die den nativen Code und die Java-Sprache verknüpft.

Natives Schlüsselwort in Java

Vorteile des nativen Schlüsselworts in Java

Im Folgenden sind einige der Vorteile aufgeführt.

  1. Es bietet einen zusätzlichen Vorteil von JAVA, mit dem in anderen Sprachen geschriebenen Code zu interagieren und den Aufwand zu reduzieren, den gleichen Code in JAVA zu schreiben, wodurch die Coderedundanz verringert wird.
  2. Es verbessert die Gesamtleistung des Codes. Da der Code in anderen Sprachen geschrieben ist, ist er möglicherweise schneller, wenn er mit der Maschinensprache arbeitet als mit JAVA. Wir können dann das JAVA-Programm verwenden, um diesen Code aufzurufen.
  3. Mit diesem Ansatz können wir Systemaufrufe direkt durchführen. Reduziert die Wahrscheinlichkeit externer Störungen und verbessert die Geschwindigkeit der Codeausführung.
  4. Sie können eine vorinstallierte Bibliothek (in einer anderen Sprache als JAVA geschrieben) dynamisch aufrufen, indem Sie einen beliebigen, in JAVA geschriebenen Treibercode verwenden und trotzdem eine Antwort in JAVA erhalten.
  5. Es macht es für JAVA zugänglich, auf die Hardwareressourcen zuzugreifen, die nur für die Verwendung durch andere Sprachen verfügbar sind.
  6. Falls Sie für Ihre Anwendung bereits einen plattformabhängigen Code erstellt haben und dessen Funktionen nicht über JAVA unterstützt werden, können wir über nativen Code verfügen und diesen nativen Code über das native Schlüsselwort mit JAVA verknüpfen.

Regeln

Die Regeln für ein natives Schlüsselwort lauten wie folgt.

  1. Das native Schlüsselwort ist vor dem Methodennamen zu verwenden.
  2. Die Deklaration nativer Methoden hat keinen Hauptteil und sollte mit einem Semikolon enden, da diese Methoden nicht in JAVA definiert sind, sondern in der Sprache C/C++ vorhanden sind.
  3. Native Methoden können nicht als abstrakte Methode deklariert werden.
  4. Da es keine Sicherheit gibt, ob der bisherige alte Code in Übereinstimmung mit dem IEEE 754-Standard geschrieben wurde (Der IEEE-Standard für Gleitkomma-Arithmetik ist ein technischer Standard für Gleitkomma-Arithmetik, der 1985 vom Institute of Electrical and Electronics Engineers festgelegt wurde ), daher können wir diese nativen Methoden nicht als strictftp deklarieren.
  5. JAVA entwirft die Java Native Interface (JNI)-Spezifikation, um die Regeln und Deklarationen zur Implementierung nativer Methoden zu definieren, wie z. B. die Konvertierung von Datentypen zwischen Java und dem nativen Code.

Fazit

Das Schlüsselwort „Native“ schließt die Lücke zwischen Muttersprachen und JAVA. Dies kann als entscheidende Verbindung verwendet werden, wenn die Interaktion unserer Software mit der Hardware durch die Nutzung bereits vorhandenen Codes effizienter ist. Dadurch ist der Implementierungsaufwand im Vergleich zum Entwurf eines neuen Anwendungscodes von Grund auf geringer, wo immer er vermeidbar wäre.

Das obige ist der detaillierte Inhalt vonNatives Schlüsselwort in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

<🎜>: Bubble Gum Simulator Infinity - So erhalten und verwenden Sie Royal Keys
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusionssystem, erklärt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Flüstern des Hexenbaum
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1672
14
PHP-Tutorial
1277
29
C#-Tutorial
1257
24
PHP vs. Python: Verständnis der Unterschiede PHP vs. Python: Verständnis der Unterschiede Apr 11, 2025 am 12:15 AM

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

PHP: Eine Schlüsselsprache für die Webentwicklung PHP: Eine Schlüsselsprache für die Webentwicklung Apr 13, 2025 am 12:08 AM

PHP ist eine Skriptsprache, die auf der Serverseite weit verbreitet ist und insbesondere für die Webentwicklung geeignet ist. 1.PHP kann HTML einbetten, HTTP -Anforderungen und Antworten verarbeiten und eine Vielzahl von Datenbanken unterstützt. 2.PHP wird verwendet, um dynamische Webinhalte, Prozessformdaten, Zugriffsdatenbanken usw. mit starker Community -Unterstützung und Open -Source -Ressourcen zu generieren. 3. PHP ist eine interpretierte Sprache, und der Ausführungsprozess umfasst lexikalische Analyse, grammatikalische Analyse, Zusammenstellung und Ausführung. 4.PHP kann mit MySQL für erweiterte Anwendungen wie Benutzerregistrierungssysteme kombiniert werden. 5. Beim Debuggen von PHP können Sie Funktionen wie error_reporting () und var_dump () verwenden. 6. Optimieren Sie den PHP-Code, um Caching-Mechanismen zu verwenden, Datenbankabfragen zu optimieren und integrierte Funktionen zu verwenden. 7

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist

Php gegen andere Sprachen: Ein Vergleich Php gegen andere Sprachen: Ein Vergleich Apr 13, 2025 am 12:19 AM

PHP eignet sich für die Webentwicklung, insbesondere für die schnelle Entwicklung und Verarbeitung dynamischer Inhalte, ist jedoch nicht gut in Anwendungen auf Datenwissenschaft und Unternehmensebene. Im Vergleich zu Python hat PHP mehr Vorteile in der Webentwicklung, ist aber nicht so gut wie Python im Bereich der Datenwissenschaft. Im Vergleich zu Java wird PHP in Anwendungen auf Unternehmensebene schlechter, ist jedoch flexibler in der Webentwicklung. Im Vergleich zu JavaScript ist PHP in der Back-End-Entwicklung präziser, ist jedoch in der Front-End-Entwicklung nicht so gut wie JavaScript.

PHP vs. Python: Kernmerkmale und Funktionen PHP vs. Python: Kernmerkmale und Funktionen Apr 13, 2025 am 12:16 AM

PHP und Python haben jeweils ihre eigenen Vorteile und eignen sich für verschiedene Szenarien. 1.PHP ist für die Webentwicklung geeignet und bietet integrierte Webserver und reichhaltige Funktionsbibliotheken. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit prägnanter Syntax und einer leistungsstarken Standardbibliothek. Bei der Auswahl sollte anhand der Projektanforderungen festgelegt werden.

Auswirkungen von PHP: Webentwicklung und darüber hinaus Auswirkungen von PHP: Webentwicklung und darüber hinaus Apr 18, 2025 am 12:10 AM

PhPhas significantantyPactedWebDevelopmentAndendendsbeyondit.1) iTpowersMAjorPlatforms-LikewordpressandExcelsInDatabaseInteractions.2) php'SadaptabilityAllowStoscaleForLargeApplicationsfraMe-Linien-Linien-Linien-Linienkripte

PHP: Die Grundlage vieler Websites PHP: Die Grundlage vieler Websites Apr 13, 2025 am 12:07 AM

Die Gründe, warum PHP für viele Websites der bevorzugte Technologie -Stack ist, umfassen die Benutzerfreundlichkeit, die starke Unterstützung der Community und die weit verbreitete Verwendung. 1) Einfach zu erlernen und zu bedienen, geeignet für Anfänger. 2) eine riesige Entwicklergemeinschaft und eine reichhaltige Ressourcen haben. 3) in WordPress, Drupal und anderen Plattformen häufig verwendet. 4) Integrieren Sie eng in Webserver, um die Entwicklung der Entwicklung zu vereinfachen.

PHP vs. Python: Anwendungsfälle und Anwendungen PHP vs. Python: Anwendungsfälle und Anwendungen Apr 17, 2025 am 12:23 AM

PHP eignet sich für Webentwicklungs- und Content -Management -Systeme, und Python eignet sich für Datenwissenschafts-, maschinelles Lernen- und Automatisierungsskripte. 1.PHP hat eine gute Leistung beim Erstellen von schnellen und skalierbaren Websites und Anwendungen und wird üblicherweise in CMS wie WordPress verwendet. 2. Python hat sich in den Bereichen Datenwissenschaft und maschinelles Lernen mit reichen Bibliotheken wie Numpy und TensorFlow übertrifft.

See all articles