【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
相关推荐
头茬韭菜2 分钟前
3.9 成本预警 — 退出钩子、$5 阈值对话框与多通道成本通知
java·大数据·jvm·ai
重庆小透明11 分钟前
今日收获(一些个人思考)
java·spring·大模型·springai·prompt注入
Edward1111111132 分钟前
一AI名词
java·开发语言·数据库·学习
栈溢出了1 小时前
Redis repl_backlog 学习笔记
java·开发语言·redis·学习
并不喜欢吃鱼1 小时前
从零开始 C++----- 十五.一文吃透 C++ 异常:try-catch、栈展开、自定义异常、异常安全 noexcept 底层全剖析
java·开发语言·jvm
智码看视界1 小时前
Day19 Spring Boot启动优化:启动时间从8秒降到2秒
java·spring boot·后端·启动优化
北京阿法龙科技有限公司2 小时前
AR智能眼镜安防应用核心指标:识别距离筑牢防线
java·开发语言·ar
殘殤血2 小时前
Tomcat的事件监听机制:观察者模式 _
java·观察者模式·tomcat
汤姆yu2 小时前
面向具身智能的物理视频模拟器:蚂蚁灵波LingBot-Video开源模型全解析
java·大数据·人工智能·gpt·开源·大模型·音视频
SQL-First布道者2 小时前
Spring JDBC Ultra 十边型战士
java·spring boot·后端·mysql·spring·mybatis