Anda perlu menggunakan metode asli, tetapi Anda tidak perlu mengimplementasikannya sendiri. Java memiliki variasi pada JNI yang disebut JNA (Java Native Access), yang memungkinkan Anda mengakses pustaka bersama secara langsung tanpa memerlukan antarmuka JNI yang membungkusnya, sehingga Anda dapat menggunakannya untuk berinteraksi langsung dengan glibc:
import com.sun.jna.Library;
import com.sun.jna.Native;
public class Test {
public interface CStdLib extends Library {
int syscall(int number, Object... args);
}
public static void main(String[] args) {
CStdLib c = (CStdLib)Native.loadLibrary("c", CStdLib.class);
// WARNING: These syscall numbers are for x86 only
System.out.println("PID: " + c.syscall(20));
System.out.println("UID: " + c.syscall(24));
System.out.println("GID: " + c.syscall(47));
c.syscall(39, "/tmp/create-new-directory-here");
}
}
Anda perlu menggunakan metode asli, atau pustaka yang melakukannya untuk Anda.