
native 是 Java 的一个修饰符,用于标记"本地方法(Native Method)"。本地方法是在 Java 程序中声明,但实际实现在 非 Java 语言(通常是 C/C++) 中的方法。
java
public native void sayHello();
这样的函数没有方法体,因为它的实现由底层代码提供。
Java 是跨平台的,但某些功能 无法通过 Java 直接实现,例如:
✔ 调用操作系统底层 API(如系统级文件锁、权限、驱动)
✔ 使用高性能的 C/C++ 库(如 GPU 计算、音视频编解码)
✔ 访问特定硬件(摄像头、串口、蓝牙等)
✔ 实现性能优化的关键流程(内存操作、压缩算法等)
因此 Java 提供了 JNI(Java Native Interface) 来与本地代码交互,native 就是使用 JNI 的入口。
native作用
- 调用本地平台代码(C/C++)
- 弥补 Java 无法直接访问系统底层的不足
- 利用已有的高性能或成熟的底层库
- 提高性能(某些底层操作比 Java 更快)
- 实现 Java 与操作系统/硬件的交互
Java → JNI → C/C++
java
Java 方法声明 -> 加载本地库 (.dll/.so) -> C/C++ 实现 -> 返回 Java