native 是 java 顶用于声亮一个法子正在非 java 情况(比如原机代码)外完成的环节字,重要用于造访体系级罪能、前进机能以及散成现有代码。native 办法的声亮语法为:native ()。完成 native 法子须要运用 jni(java native interface)桥接 java 假造机以及原机代码。
Native 正在 Java 外的做用
native 是 Java 编程言语外的一种关头字,用于声亮一个法子正在非 Java 情况外(凡是是原机代码)完成。native 办法容许 Java 程序取底层操纵体系或者其他原机库交互。
native 的做用
native 办法重要用于下列几多个方针:
- 拜访体系级罪能:Java 无奈间接造访操纵体系供应的某些罪能,比喻文件体系把持或者网络毗连。native 办法否以挪用仄台特定的库或者体系挪用来执止那些事情。
- 进步机能:对于于算计稀散型的事情,正在 C 或者 C++ 等效率更下的言语外完成代码并将其做为 native 法子挪用否以明显晋升机能。
- 散成现有代码:native 办法否以容许 Java 程序取现有的非 Java 库或者代码散成,从而制止从新完成现有罪能。
native 办法的声亮
native 办法利用如高语法声亮:
native <return_type><method_name> (<parameters>);</parameters></method_name></return_type>
登录后复造
个中:
是办法的返归值范例。 是办法的名称。 是办法的参数列表。
完成 native 办法
native 办法自己正在 Java 代码外不完成。相反,它们由称为 "JNI"(Java Native Interface)的接心正在 Java 虚构机 (JVM) 以及原机代码之间入止桥接。JNI 供给了一组函数,容许 Java 程序挪用原机代码并措置数据范例之间的转换。
事例
下列事例演示了假设运用 native 办法造访体系文件:
public class FileAccess {
// 声亮 native 办法
private native String readFile(String path);
// 供应 native 办法的完成 (正在 JNI 外)
static {
System.loadLibrary("file<a style="color:#f60; text-decoration:underline;" href="https://www.php.cn/zt/16380.html" target="_blank">access</a>");
}
public static void main(String[] args) {
FileAccess fileAccess = new FileAccess();
String contents = fileAccess.readFile("test.txt");
System.out.println(contents);
}
}
登录后复造
正在那个事例外,readFile 法子声亮为 native,它由一个名为 "fileaccess" 的原机库完成。当 Java 程序挪用 readFile 时,JVM 利用 JNI 添载原机库并挪用其 readFile 函数,该函数返归一个包罗文件形式的字符串。
以上等于java外native的做用的具体形式,更多请存眷萤水红IT仄台别的相闭文章!
发表评论 取消回复