【Java】关键字 native

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
相关推荐
014-code20 分钟前
布隆过滤器:判断“可能存在“和“一定不存在“
java·redis
兔小盈21 分钟前
多线程篇-(二)线程创建、中断与终止
java·开发语言·多线程
jnrjian26 分钟前
Library Cache Load Lock library cache pins are replaced by mutexes
java·后端·spring
abcnull35 分钟前
传统的JavaWeb项目Demo快速学习!
java·servlet·elementui·vue·javaweb
risc12345640 分钟前
【lucene】PostingsEnum跟TermsEnum 的区别是啥?
java·lucene
小江的记录本1 小时前
【Kafka核心】Kafka高性能的四大核心支柱:零拷贝、批量发送、页缓存、压缩
java·数据库·分布式·后端·缓存·kafka·rabbitmq
SamDeepThinking1 小时前
程序员过35岁之前,应该完成的三件事
java·后端·程序员
大数据三康1 小时前
Java字符统计:从输入到输出的完整解析
java·学习·循环结构
Mr_pyx1 小时前
【LeetHOT100】LRU缓存——Java多解法详解
java·开发语言