使用 native 关键字说明这个方法是原生函数,也就是这个方法是用 C/C++等非Java 语言实现的,并且被编译成了 DLL,由 java 去调用

(1)为什么要用 native 方法

java 使用起来非常方便,然而有些层次的任务用 java 实现起来不容易,或者我们对程序的效率很在意时,问题就来了。例如:有时 java 应用需要与 java 外面的环境交互。这是本地方法存在的主要原因,你可以想想 java 需要与一些底层系统如操作系统或某些硬件交换信息时的情况。本地方法正是这样一种交流机制:它为我们提供了一个非常简洁的接口,而且我们无需去了解 java 应用之外的繁琐的细节。

(2)native 声明的方法,对于调用者,可以当做和其他 Java 方法一样使用

一个 native method 方法可以返回任何 java 类型,包括非基本类型,而且同样可以进行异常控制。

native method 的存在并不会对其他类调用这些本地方法产生任何影响,实际上调用这些方法的其他类甚至不知道它所调用的是一个本地方法。JVM 将控制调用本地方法的所有细节。

如果一个含有本地方法的类被继承,子类会继承这个本地方法并且可以用 java语言重写这个方法(如果需要的话)。

native 关键的理解相关推荐

  1. 【React Native】深入理解Native与RN通信原理

    在使用 React Native 开发应用程序的时候,有时候需要使用 JavaScript 中默认不可用的 IOS 或 Android 的原生 API. 也许你想复用一些现有的 OC.Swift.Ja ...

  2. 面向对象的六大原则(原则都是唬人 关键在于理解面向对象)

    一 六大原则叫什么我已经忘了 二 六大原则到底是什么以及有什么作用,一句话:教你在用面相对象编程语言编程的时候如何更好地利用面向对象编程语言的特性. 例如:如果你使用的是java语言的话. 1 最基本 ...

  3. MCMC_关键概念理解

    关于概念和符号,参考前文:MCMC_方法示例 以下是个人在理解MCMC方法中遇到的疑惑,以及个人的见解. 问题一 回顾如下公式,既然对于α(i,j)\alpha(i,j)α(i,j)我们将之理解为从一 ...

  4. 谷歌机器智能大牛:AI模型要真正理解人类语言,关键是「序列学习」

    来源:新智元 编辑:David 如果计算机给了你所有正确的答案,是否意味着它和你一样了解世界? 这是人工智能科学家几十年来一直争论不休的谜题.随着深度神经网络在与语言相关的任务中取得了令人瞩目的进步, ...

  5. 理解JVM如何使用Windows和Linux上的本机内存

    转至:http://www.chineselinuxuniversity.net/articles/23291.shtml 摘要:Java™ 堆耗尽并不是造成 java.lang.OutOfMemor ...

  6. React Native 从入门到原理

    React Native 是最近非常火的一个话题,介绍如何利用 React Native 进行开发的文章和书籍多如牛毛,但面向入门水平并介绍它工作原理的文章却寥寥无几. 本文分为两个部分:上半部分用通 ...

  7. 理解 JVM 如何使用 Windows 和 Linux 上的本机内存

    http://www.ibm.com/developerworks/cn/java/j-nativememory-linux/ Java 堆(每个 Java 对象在其中分配)是您在编写 Java 应用 ...

  8. 内存详解-理解 JVM 如何使用 Windows 和 Linux 上的本机内存

    内存详解 理解 JVM 如何使用 Windows 和 Linux 上的本机内存 Java™ 堆耗尽并不是造成 java.lang.OutOfMemoryError 的惟一原因.如果本机内存 耗尽,则会 ...

  9. JAVA 内存详解 (理解 JVM 如何使用 Windows 和 Linux 上的本机内存)

    级别: 中级 Andrew Hall , 软件工程师, IBM 2009 年 5 月 11 日 Java™ 堆耗尽并不是造成 java.lang.OutOfMemoryError 的惟一原因.如果本机 ...

最新文章

  1. spring boot(八)RabbitMQ使用
  2. C# WinForm获取程序所在路径方法
  3. Qt使用OpenCV读取图片练习
  4. 回忆自己的大学四年得与失
  5. MySQL 下载与配置教程(免安装版)
  6. MATLAB函数参数个数控制
  7. 【数学】Floating-Point Hazard
  8. POJ - 2559 Largest Rectangle in a Histogram(单调栈)
  9. linux内核:__user,__kernel,__safe,__force,__iomem
  10. Python标准库判断图片文件和声音文件的格式
  11. sql日期大于某天_(十五)sql/Linux 小技巧
  12. beeline执行sql文件_【SparkSQL】介绍、与Hive整合、Spark的th/beeline/jdbc/thriftserve2、shell方式使用SQL...
  13. 一篇价值过百万的日志
  14. hybird app
  15. SPSS:T检验、方差分析、非参检验、卡方检验的使用要求和适用场景
  16. Android 发送短信自定义手机号自定义短信内容
  17. 备选统驭科目(Alternative Reconciliation Accounts)配置及实操演示
  18. 编程范式:函数式编程防御式编程响应式编程契约式编程流式编程
  19. 2022高职大数据竞赛0720更新参考实现
  20. 应用:使用uart串口接收模块接收信号,控制led灯闪烁

热门文章

  1. Java中intentfiler_【Android - 组件】之IntentFilter的匹配规则
  2. 机械转电子工程嵌入式方向靠谱吗?怎么上手学习?
  3. ansys大变形开关要不要打开_ANSYS网格质量评定指标介绍
  4. lsa五类_OSPF外部路由4类5类LSA
  5. luogu P3410 拍照(最大权闭合图转最小割)
  6. 计算机二级怎么更改报名密码忘记了怎么办,中考报名系统密码忘了怎么办
  7. 并查集(压缩路径+按秩排序)
  8. 计算机一级b类试题及答案,计算机一级b类试题及答案
  9. syslog打印不带等级_socket发送syslog不能获得级别
  10. 怎么做 空间杜宾模型_企业营销怎么做?深度解析STP模型及案例,一步成高手...