JNI介绍

简介

JNI,全称为Java Native Interface,俗称JAVA本地编程接口,它是由SUN公司定义的一套标准接口,它允许JAVA代码和其他语言的代码进行交互。

演变

JDK1.0 只包含了一个本地方法接口还没有JNI,它允许JAVA程序调用C/C++写的程序。
JDK1.1 第一次支持JNI,但是JDK1.1仍在使用老风格的本地代码来实现JAVA的API。
JDK1.2 被彻底改变成符合标准的写法。

JNI官方 https://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/intro.html

作用

在这里插入图片描述

JNI的主要作用就是为了解决在JVM跨平台的过程中的一些短板而实现,主要是让JAVA代码直接调用平台下其他语言的代码,而开发的一个种标准接口。JVM既是Host OS下的一个Process,也是一个装载Java程序的虚拟系统。

在这里插入图片描述

在不能平台下的不同表现形式如上,这些库是脱离了JVM的,他们属于平台但又与JVM关联,他们需要平台环境去编译通过JNI直接用JAVA代码调用,最终通过dlopen、dlsym提供一种动态转载库到内存的机制,在需要的时候,可以调用库中的方法。后面再Android 版JNI详细说下编译写运行的原理。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值