Das native Schlüsselwort wird auf eine Methode angewendet, um anzuzeigen, dass die Methode in nativem Code unter Verwendung von JNI (Java Native Interface) implementiert ist. native ist ein Modifikator, der nur für Methoden gilt, und wir können ihn nirgendwo anders anwenden. Die Methoden, die in C, C++ implementiert sind, werden als native Methoden oder fremde Methoden bezeichnet.
Die Hauptziele des nativen Schlüsselworts sind:
- Die Leistung des Systems zu verbessern.
- Kommunikation auf Maschinenebene/Speicherebene zu erreichen.
- Bereits vorhandenen Legacy-Code zu verwenden, der nicht aus Java stammt.
Pseudocode zur Verwendung nativer Schlüsselwörter in Java:
Class Native
{
Static
{
System.LoadLibrary("Native library path");
}
Public
native
void
m();
}
Class Test
{
Public
static
void
main(String args)
{
Native n =
new
Native();
n.m();
}
}
Wichtige Punkte zum nativen Stichwort:
- Für native Methoden ist die Implementierung in alten Sprachen wie C, C++ bereits verfügbar und wir sind nicht dafür verantwortlich, eine Implementierung bereitzustellen. Daher sollte die Deklaration nativer Methoden mit ; (Semikolon) enden.
- Wir können native Methoden nicht als abstrakt deklarieren.
- Wir können native Methoden nicht als strictfp deklarieren, weil es keine Garantie dafür gibt, dass alte Sprachen (C, C++) dem IEEE 754 Standard folgen. Daher ist die native strictfp-Kombination eine illegale Kombination für Methoden.
- Der Hauptvorteil des nativen Schlüsselworts ist die Verbesserung der Leistung, aber der Hauptnachteil des nativen Schlüsselworts ist, dass es die plattformunabhängige Natur von Java bricht.
Deklarieren nativer Methoden: In diesem Abschnitt wird erklärt, wie man eine native Methode in Java deklariert und wie man den entsprechenden C/C++ Funktionsprototyp generiert.
private native String getLine(String prompt);
Von der Seite der nativen Sprache:
javah -jni Prompt
JNIEXPORT jstring JNICALL Java_Prompt_getLine(JNIEnv *, jobject, jstring);
Referenz:http://www.codejava.net/java-core/the-java-language/native-keyword
Dieser Artikel wurde von Bishal Kumar Dubey verfasst. Wenn Ihnen GeeksforGeeks gefällt und Sie einen Beitrag leisten möchten, können Sie auch einen Artikel unter contribute.geeksforgeeks.org schreiben oder eine E-Mail an [email protected] senden. Dein Artikel wird auf der GeeksforGeeks-Hauptseite erscheinen und anderen Geeks helfen.