【Java学习笔记】什么是JNI

前言

在工作过程中,对接手的项目再次进行研究,发现其重要的一个组件JNI.这个东西说白了就是可以让c、c++语言交互。

 

什么是JNI

JNI是Java Native Interface的缩写,它提供了若干的API实现了Java和其他语言的通信(主要是C&C++。从Java1.1开始,JNI标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互JNI一开始是为了本地已编译语言,尤其是C和C++而设计的,但是它并不妨碍你使用其他编程语言,只要调用约定受支持就可以了。使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的。例如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。JNI标准至少要保证本地代码能工作在任何Java 虚拟机环境。

JNI可以这样与本地程序进行交互:

  1. 你可以使用JNI来实现“本地方法”(native methods),并在JAVA程序中调用它们。
  2. JNI支持一个“调用接口”(invocation interface),它允许你把一个JVM嵌入到本地程序中。本地程序可以链接一个实现了JVM的本地库,然后使用“调用接口”执行JAVA语言编写的软件模块。例如,一个用C语言写的浏览器可以在一个嵌入式JVM上面执行从网上下载下来的applets。
全部评论

相关推荐

寿命齿轮:实习就一段还拉了,项目一看就不是手搓,学历也拉了,技术栈看着倒是挺好,就是不知道面试表现能咋样。 不过现在才大三,争取搞两端大厂实习,或者一个纯个人项目+一段大厂,感觉秋招还是未来可期。
投递美团等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享
正在热议
# 25届秋招总结 #
442727次浏览 4513人参与
# 春招别灰心,我们一人来一句鼓励 #
42019次浏览 533人参与
# 阿里云管培生offer #
120308次浏览 2220人参与
# 地方国企笔面经互助 #
7965次浏览 18人参与
# 同bg的你秋招战况如何? #
76850次浏览 564人参与
# 实习必须要去大厂吗? #
55781次浏览 961人参与
# 北方华创开奖 #
107445次浏览 600人参与
# 虾皮求职进展汇总 #
115819次浏览 886人参与
# 如果你有一天可以担任公司的CEO,你会做哪三件事? #
11607次浏览 288人参与
# 实习,投递多份简历没人回复怎么办 #
2454766次浏览 34858人参与
# 提前批简历挂麻了怎么办 #
149907次浏览 1977人参与
# 在找工作求抱抱 #
906050次浏览 9421人参与
# 如果公司给你放一天假,你会怎么度过? #
4759次浏览 55人参与
# 你投递的公司有几家约面了? #
33209次浏览 188人参与
# 投递实习岗位前的准备 #
1195967次浏览 18550人参与
# 机械人春招想让哪家公司来捞你? #
157638次浏览 2267人参与
# 双非本科求职如何逆袭 #
662289次浏览 7397人参与
# 发工资后,你做的第一件事是什么 #
12764次浏览 62人参与
# 工作中,努力重要还是选择重要? #
35833次浏览 384人参与
# 简历中的项目经历要怎么写? #
86924次浏览 1516人参与
# 参加完秋招的机械人,还参加春招吗? #
20137次浏览 240人参与
# 我的上岸简历长这样 #
452024次浏览 8088人参与
牛客网
牛客企业服务