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); |
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP