十七、本地方法接口的理解
创始人
2024-05-28 13:52:02
0

在这里插入图片描述
什么是本地方法?
1.简单来讲,一个Ntive method 就是一个Java调用非Java代码的接口.一个Native Method 是这样一个Java方法:该方法的实现由非Java语言实现,比如C,这个特征并非Java所特有,很多其他的编程语言都由这一机制,比如在C++中,你可以用extern"C"告知C++编译期区调用一个C函数。
2、在定义一个native Method 时,并不提供实现体(有些像定义一个Java interface),因为其实现体是由非Java语言在外面实现。

3.本地接口的作用是融合不同的编程语言为Java所用,它的初衷是融合 C/C++ 程序.

为什么要是使用Native Method?
Java使用起来非常方便,然而有些层次的任务用Java实现起来不容易,或者我们对程序的效率很在意时,问题就来了。

与java环境外交互:
有时Java应用需要与外面的环境交互,这是本地方法存在的主要原因,你可以想想java需要与一些底层系统,如操作系统或某硬件交换信息的时的情况。本地方法正式这样一种交流机制:它为我们提供了一个非常简洁的接口,而且我们无需去了解JAVA应用之外的繁琐的细节。

与操作系统交互:
JVM支持着Java语言本身和运行时库,他是Java程序赖以生存的平台,它由一个解释器(解释字节码)和一些链接到本地代码的库组成。然而不管怎么样,它毕竟不时一个完整的系统,它经常依赖于一些底层系统的支持,这些底层系统常常是强大的操作系统.通过使用本地方法,我们得以用java实现了jre的与底层系统的交互,甚至JVM的一些部分就是用C写的,还有,如果我们要使用一些java语言本身没有提供封装操作系统的特性时,我们也需要使用本地方法。
Sun’s Java
S的解释器是用C实现的,这使得它像一些普通的C一样与外部交互,jre大部分是用Java实现的,它也通过一些本地方法与外界交互。例如:类java.lang.Thread 的setPriority()方法是用Java实现的,但是它实现调用的是该类里的本地方法。setpriority0()。这个本地方法是用C实现的,并被植入JVM内部,在Windows 95平台上,这个本地放过发最终将调用win32 SetPriority()API,这是一个本地方法的具体实现由JVM直接提供,更多的情况是本地方法由外部的动态链接库(external dynamic link library)提供,然后被JVM调用。

现状
目前该方法使用的越来越少,除非是与硬件由管的应用,比如通过java程序驱动打印机或者Java系统管理生产设备,子啊企业级应用中已经比较少见。因为现在的异构领域间的通信很发达,比如可以使用Socket通信,也可以使用web service 等等、。

相关内容

热门资讯

摸摸你的腰mp3 摸摸你的腰mp3摸摸你的腰mp3... 摸摸你的腰mp3 展开 好多水我摸摸你的头好温柔,我...
最近书荒啊,谁有没有好看的言情... 最近书荒啊,谁有没有好看的言情小说介绍一些啊!不配【有三部】,赶夫上轿【轻松】,南风过境【宠文】,花...
金饰克价再次涨至1000元!黄... 本文来自微信公众号“大象新闻”6月30日,现货黄金盘中一度跌至一个月内新低,随后开始大幅反弹,收报3...
西安警方回应“中华田园犬禁养”... 6月30日,网传陕西省西安市公安局限制养犬管理办公室发布的“重点限养区禁止饲养烈性犬和大型犬”图片引...
小学生常常以教师的行为为榜样,... 小学生常常以教师的行为为榜样,教师也处处表现出对表现好的学生的喜爱和认可,学生从中获得派生地位。这种...
香港维持对日本水产进口管制 作者 | 《财经》特派香港记者 焦建 编辑 | 苏琦  日本水产及日式料理多年来受港人追捧,日本水产...
成都先导终止收购海纳医药65%... 6月30日,成都先导药物开发股份有限公司(以下简称“成都先导”)宣布,因未能就交易事项的核心条款达成...
11岁女孩身高137cm,警惕...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会! 转自:医学界*仅供医...
《勇气》阅读题理解 《勇气》阅读题理解 19世纪,在英国的名门公立学校—哈罗学校常常会出现以强凌弱、以大欺小的事情。...
建设银行再创历史新高!牵手“山...   炒股就看金麒麟分析师研报,权威,专业,及时,全面,助您挖掘潜力主题机会!   中国基金报记者 ...