- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1 - 简介 本章介绍 Java 本地接口(Java Native Interface,JNI)。JNI 是本地编程接口。它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行互操作。 JNI 最重要的好处是它没有对底层 Java 虚拟机的实现施加任何限制。因此,Java 虚拟机厂商可以在不影响虚拟机其它部分的情况下添加对 JNI 的支持。程序员只需编写一种版本的本地应用程序或库,就能够与所有支持 JNI 的 Java 虚拟机协同工作。 本章论及以下主题: HYPERLINK http://www.iplab.cs.tsukuba.ac.jp/%7Eliuxj/jdk1.2/zh/docs/guide/jni/spec/intro.doc.html \l 16635 Java 本地接口概述 HYPERLINK http://www.iplab.cs.tsukuba.ac.jp/%7Eliuxj/jdk1.2/zh/docs/guide/jni/spec/intro.doc.html \l 16230 背景 HYPERLINK http://www.iplab.cs.tsukuba.ac.jp/%7Eliuxj/jdk1.2/zh/docs/guide/jni/spec/intro.doc.html \l 16410 目标 HYPERLINK http://www.iplab.cs.tsukuba.ac.jp/%7Eliuxj/jdk1.2/zh/docs/guide/jni/spec/intro.doc.html \l 16465 Java 本地接口方法 HYPERLINK http://www.iplab.cs.tsukuba.ac.jp/%7Eliuxj/jdk1.2/zh/docs/guide/jni/spec/intro.doc.html \l 16539 利用 JNI 编程 HYPERLINK http://www.iplab.cs.tsukuba.ac.jp/%7Eliuxj/jdk1.2/zh/docs/guide/jni/spec/intro.doc.html \l 00002 JDK 1.1.2 中的变化 Java 本地接口概述 尽管可以完全用 Java 编写应用程序,但是有时单独用 Java 不能满足应用程序的需要。程序员使用 JNI 来编写 Java 本地方法,可以处理那些不能完全用 Java 编写应用程序的情况。 以下示例说明了何时需要使用 Java 本地方法: 标准 Java 类库不支持与平台相关的应用程序所需的功能。 已经拥有了一个用另一种语言编写的库,而又希望通过 JNI 使 Java 代码能够访问该库。 想用低级语言(如汇编语言)实现一小段时限代码。 通过用 JNI 编程,可以将本地方法用于: 创建、检查及更新 Java 对象(包括数组和字符串)。 调用 Java 方法。 捕捉和抛出异常。 加载类和获得类信息。 执行运行时类型检查。 也可以与调用 API 一起使用 JNI,以允许任意本地应用程序嵌入到 Java 虚拟机中。这样使得程序员能够轻易地让已有应用程序支持 Java,而不必与虚拟机源代码相链接。 背景 目前,不同厂商的虚拟机提供了不同的本地方法接口。这些不同的接口使程序员不得不在给定平台上编写、维护和分发多种版本的本地方法库。 下面简要分析一下部分已有本地方法接口,例如: JDK 1.0 本地方法接口 Netscape 的 Java 运行时接口 Microsoft 的原始本地接口和 Java/COM 接口 JDK 1.0 本地方法接口 JDK 1.0 附带有本地方法接口。遗憾的是,有两点原因使得该接口不适合于其它 Java 虚拟机。 第一,平台相关代码将 Java 对象中的域作为 C 结构的成员来进行访问。但是,Java 语言规范没有规定在内存中对象是如何布局的。如果 Java 虚拟机在内存中布局对象的方式有所不同,程序员就不得不重新编译本地方法库。 第二,JDK 1.0 的本地方法接口依赖于保守的垃圾收集器。例如,无限制地使用 unhand 宏使得有必要以保守方式扫描本地堆栈。 Java 运行时接口 Netscape 建议使用 Java 运行时接口 (JRI),它是 Java 虚拟机所提供服务的通用接口。JRI 的设计融入了可移植性---它几乎没有对底层 Java 虚拟机的实现细节作任何假设。JRI 提出了各种各样的问题,包括本地方法、调试、反射、嵌入(调用)等等。 原始本地接口和 Java/COM 接口 Microsoft Java 虚拟机支
您可能关注的文档
最近下载
- 2025年蔬菜产业发展工作方案..docx
- 2025年金属冶炼企业从业人员安全生产培训考试题库及答案.docx VIP
- 农行银行面试题目及答案.doc VIP
- PA666-□S、PZ666-□S系列三相数显电流电压表快速操作手册.pdf VIP
- 停车场租赁服务方案.docx
- 一种高压强大孔型强酸性苯乙烯系阳离子交换树脂的制备方法.pdf VIP
- 《钻孔灌注桩泥浆处理方案》.docx VIP
- Q YG 10-2016_高压电缆固定夹.pdf VIP
- 封闭区倒塌围墙修复施工方案.docx VIP
- GB_T 31467—2023《电动汽车用锂离子动力电池包和系统电性能试验方法》标准解读与分析.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)