Java方法和原生方法有什么区别?


本文将帮助您了解Java方法和原生方法之间的所有区别。

函数/方法

程序模块(程序的一部分),用于在程序的不同实例中同时执行特定任务,被称为方法或函数。它可以被视为一个黑盒,能够返回输出(根据内部代码的执行获得)。同样,Java类中所有可用的方法都充当黑盒。向方法提供值(参数)后,它会处理其中可用的代码并返回输出。

使用方法的优点

  • 它向用户隐藏低级别的内部代码细节。可以在不公开内部细节的情况下允许外部使用方法。

  • 它根据需要重用类代码段,只需使用方法名称。

  • 它将复杂的计算任务分解成一系列较小的方法,从而使问题解决更容易、特定于对象且模块化。

定义方法

定义方法的一般形式如下所示:

<Access specifier> <Return Type> <Method Name> (Parameter List){
   Statement
   ______________
   ______________
   return (value);
}

示例

public int Addition(int a, int b){
   int sum = 0;
   sum + = a + b;
   return (sum);
}

这里public是访问说明符,int是返回类型,Addition是方法名称,int a和int b是参数。

原生方法

原生方法是一种Java方法,它以Java以外的语言启动。这可以访问Java中直接不可用的系统特定函数和API。

使用原生方法会导致应用程序的可移植性受到限制,因为它涉及系统特定的代码。它们可以是新的代码语句,也可以是调用现有原生代码的代码语句。

运行原生方法时,需要与Java虚拟机进行互操作。这是通过Java原生接口(JNI)完成的,它以平台无关的方式促进了这种互操作性。

JNI是一组接口,允许原生方法通过多种方式与JVM互操作。例如,JNI可以包含创建对象、调用方法、获取字段、设置字段、操作数组、操作字符串和执行进程异常的接口。

原生方法的用途

如果Java编程语言不足以满足编程需求,则应使用原生方法。这是因为使用它们会导致应用程序的可移植性受到限制,因为它涉及系统特定的代码。下面是一些应该使用原生方法的情况:

  • 访问使用Java编程语言无法访问的系统函数。

  • 实现从原生实现中受益匪浅的性能特定方法。

  • 创建现有API的接口,允许Java调用其他API。

创建原生方法的步骤

步骤1 - 编写Java代码并编译。

步骤2 - 创建C头文件(.h)。

步骤3 - 使用工具Java - HEdge创建C存根文件。

步骤4 - 编写C代码。

步骤5 - 创建共享代码库或DLL。

步骤6 - 运行应用程序。

Java方法和原生方法的区别

序号 Java方法 原生方法
1 它专门用Java语言编写。 它用Java以外的语言编写,例如C。
2 没有单独的关键字来声明方法。 要声明原生方法,必须使用“native”关键字。
3 无法访问系统特定函数。 用于访问系统特定函数。
4 需要Java虚拟机执行。 需要Java原生接口执行。
5 不会限制应用程序的可移植性。 限制应用程序的可移植性。
6 示例 - public int getValue (int n) { } 示例 - public native int getValue (int n);

更新于:2022年9月5日

844 次查看

启动您的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.