Podprogramy w Javie umoĹźliwiajÄ ĹÄ czenie kodu Java z kodem napisanym w innych jÄzykach programowania, gĹĂłwnie C i C++. Mechanizm ten nazywany jest JNI (Java Native Interface)
Metody zadeklarowane z modyfikatorem native (omĂłwionym w punkcie 2.3.4) nie posiadajÄ implementacji w Javie. Ich kod znajduje siÄ w zewnÄtrznych bibliotekach zaĹadowanych dynamicznie.
PrzykĹad deklaracji metody native:
public class SystemUtils {
// Deklaracja metod native
public native long getAvailableMemory();
public native String getSystemProperty(String name);
// Ĺadowanie biblioteki zawierajÄ
cej implementacjÄ
static {
System.loadLibrary("systemutils");
}
}
javah -jni SystemUtils
Polecenie to generuje plik nagĹĂłwkowy SystemUtils.h zawierajÄ cy prototypy funkcji C.
Uwaga: Podprogramy native naleĹźy uĹźywaÄ oszczÄdnie i tylko gdy jest to naprawdÄ konieczne, poniewaĹź mogÄ one naruszyÄ podstawowe cechy Javy: przenoĹnoĹÄ i bezpieczeĹstwo.
Sekcja zrekonstruowana na podstawie kontekstu kursu