JVM-本地方法接口

12 篇文章 0 订阅

1 什么是本地方法:

简单来讲,一个 Native Method 就是一个 java 调用非 java 代码的接口,一个 Native Method 是这样一个 java 方法:该方法的底层实现由非 Java 语言实现, 比如 C。这个特征并非 java 特有,很多其他的编程语言都有这一机制 在定义一个 native method 时,并不提供实现体(有些像定义一个 Java interface),因为其实现体是由非 java 语言在外面实现的。

关键字 native 可以与其他所有的 java 标识符连用,但是 abstract 除外。

(总结:一个 Native Method 就是一个 java 调用非 java 代码的接口,该方法由非java语言实验,例如C,C++)

2 为什么要使用 Native Method:

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

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

2.Sun’s Java :
Sun 的解释器是用 C 实现的,这使得它能像一些普通的 C 一样与外部交互。jre 大部分是用 java 实现的,它也通过一些本地方法与外界交互。例如:类 java.lang.Thread 的 setPriority()方法是用 Java 实现的,但是它实现调用的事 该类里的本地方法 setPriority0().

(总结:
我们的java程序需要与外部(计算机硬件)进行数据交互(例如hashCode(), read(),thread.start())可以直接调用外部的本地方法实现.
JVM解释器是用C写的,可以更好的与本地方法交互.
)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值