JVM_01_内存与垃圾回收_04_本地方法接口


本文介绍本地方法接口以及本地方法调用。

1. 概述

JVM主要分成类加载子系统、运行时数据区、执行引擎、本地方法接口(本地方法调用)四部分。本文介绍本地方法接口。既然是本地方法调用、本地方法接口,那么什么是本地方法呢?

简单地讲,一个Native Method就是一个Java调用非Java代码的接口。一个Native Method方法的实现由非Java语言实现,比如C语言。这个特征并非Java所特有,很多其他的编程语言都有这一机制,比如在C++中,可以用extern “C”告诉C++编译器去调用一个C的函数。

在定义这个native method时,并不提供实现体(有点像Java中的接口),因为其实现体是由非Java语言在外面实现的。

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

native关键字可以与任何关键字一起修饰任何方法,修饰之后表明本方法是本地方法,但是不能和abstract同时出现

2. 作用

为什么要使用Native Method?

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

Native Method的出现主要有以下三个目的:

  1. 与Java环境外交互:

    有时Java应用需要与Java外面的环境交互,比如其他语言编写的程序,这是本地方法存在的主要原因。

  2. 与操作系统交互

    通过使用本地方法,得以用Java实现了JRE与底层操作系统的交互甚至JVM的一部分就是用C写的。

  3. Sun’s Java

    Sun的解释器是用C实现的,这使得它能像一些普通的C一样与外部交互。

不过目前该方法使用的越来越少了,除非是与硬件相关的应用。而且现在Java已经越来越完善,效率已经变得很高了。

3. 备注

参考B站《尚硅谷》。


文章作者: 浮云
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 浮云 !
  目录