Java uses various concepts to maintain privacy, structural format, and handling data efficiently, and many others. From all these concepts, one is to increase portability. To make the programs in Java more portable across all the platforms, the Java native interface (JNI) concept comes into the frame.
JNI give out a bridge between Java and other native application. JNI is a segment of JDK (Java Development Kit), where JDK prefaces the java bytecode and the native programs (C and C++) running in JVM (Java virtual machine). The JNI grant Java program to administer with applications and libraries in other assembly languages, C and C++.
When Programmers use JNI?
When the programs or applications cannot support some feature in the Java programming, then the programmers use JNI to write a native method to supervise those features correctly. For example:
- Suppose the standard Java libraries may not support the feature that is platform-dependent to the application. Then the JNI comes into existence.
- When the applications are in some other language, and you want to access in Java programming. The JNI will help for accessbility.
This article gives a brief explanation of the Java native method in the Java native interface.
Native Keyword
The native keyword in Java code is a connection with other libraries and applications. That is in other languages like (C and C++), which are dependent on the machine in which you are operating. If the native keyword is written beside any method, then that method will execute the native code (C and C++).
Syntax:
The native keyword must be at the prefix of starting of the function.
public class student { public native String getthefilename (String parameter); }
Native Method in Java
A native method in Java is used to merge the efficiency and functions of C and C++ in the Java program. When the Java compiler did not implement or support some function, then, in that case, to increase the performance of the Java application, the native methods are used.
The native method is mainly importing C code files into Java application. The steps to writing native method and use in java application are as follows:
1. The Foremost Step to Write Java Code
class Student { public native String get the filename (String parameter); static { System.loadfilename ("student"); } public static void main (String[] args) { Student student = new Student (); student.printText(); } }
2. Compile the Java Code
% javac Student.java
3. Generate Header File of C
The java function of the java compiler helps to produce all the necessary instruction. And give the resultant to our Student class. This function creates a Student.h file, which helps us to use in our C code.
% java Student
4. Generate a C Stubs File
This function eases the programmer from the complicated and humongous code to invoke the c file in java code. This function generates the C code at the run-time of the Java program.
% javah -stubs Student
5. The Most Significant Step: Writing of C Code
#include <StubPreamble.h> /* Standard native method stuff. */ #include "Student.h" /* Generated earlier. */ #include <stdio.h> /* Standard C IO stuff. */ void Student_printText (struct Student *this) { puts ("Merry christmas"); }
6. After the creation of the C program, generate the shared file and execute it.
Now, you can use the native language in the Java application.