41-native关键字的理解
2024-09-07 19:19:48
使用 native 关键字说明这个方法是原生函数,也就是这个方法是用 C/C++等非Java 语言实现的,并且被编译成了 DLL,由 java 去调用。
(1)为什么要用 native 方法
java 使用起来非常方便,然而有些层次的任务用 java 实现起来不容易,或者我们对程序的效率很在意时,问题就来了。
例如:有时 java 应用需要与 java 外面的环境交互。
这是本地方法存在的主要原因,你可以想想 java 需要与一些底层系统如操作系统或某些硬件交换信息时的情况。
本地方法正是这样一种交流机制:它为我们提供了一个非常简洁的接口,而且我们无需去了解 java 应用之外的繁琐的细节。
(2)native 声明的方法,对于调用者,可以当做和其他 Java 方法一样使用一个 native method 方法可以返回任何 java 类型,包括非基本类型,而且同样可以进行异常控制。
native method 的存在并不会对其他类调用这些本地方法产生任何影响,实际上调用这些方法的其他类甚至不知道它所调用的是一个本地方法。
JVM 将控制调用本地方法的所有细节。如果一个含有本地方法的类被继承,子类会继承这个本地方法并且可以用 java语言重写这个方法(如果需要的话)。
最新文章
- sed 命令使用
- 柯尔莫可洛夫-斯米洛夫检验(Kolmogorov–Smirnov test,K-S test)
- 如何知道SQL语句的性能和改进途径
- WPF快速入门系列(2)——深入解析依赖属性
- 关于RF 315MHz
- 9、NFC技术:NDEF文本格式解析
- 编译Firebird的源码
- redolog
- 解决打包时IsCmdBld.exe出错的问题
- k8s google sample - guestbook
- c# propertyGrid下拉选项
- python 初学习 模拟用户登录
- springMVC源码分析--AbstractHandlerMethodMapping注册url和HandlerMethod对应关系(十一)
- python简明教程代码
- System.Web.Optimization对脚本和样式表的压缩操作
- TeamWork#3,Week5,Scrum Meeting 11.14
- Opera官网打不开 下载Opera最新版本的实际地址
- Knockout官网实例在MVC下的实现-01,实现Hello world
- (转)Unity3D - 性能优化之Draw Call
- Spring JPA中OneToOne和OneToMany用法
热门文章
- uniapp,微信小程序中使用 MQTT
- requests接口自动化2-url里不带参数的get请求
- JVM 专题十六:StringTable
- java 面向对象(三):类结构 属性
- Python面向对象06 /元类type、反射、函数与类的区别、特殊的双下方法
- 老司机带你玩转面试(2):Redis 过期策略以及缓存雪崩、击穿、穿透
- 小白从零开始阿里云部署react项目+node服务接口(三:部署到服务器)
- Cyber Security - Palo Alto Security Policies(1)
- Burp Suite Compare Module - 对比模块
- 搞定 CompletableFuture,并发异步编程和编写串行程序还有什么区别?你们要的多图长文