失效链接处理 |
Java本地接口(JNI)编程指南和规范 PDF 下载
本站整理下载:
提取码:v03h
相关截图:
主要内容:
序言
这本书涉及了"Java"本地接口(JNI)。如果你对下列情况感兴趣,这本书将对你有用:
.整合带有例如"C"或 C++"语言编写的传统代码的 Java 应用程序。
.用例如"C"或 C++"语言编写的已存在的程序来实现 Java 虚拟机。
.实现一个 Java 虚拟机(Java virtual machine)
.理解在语言互操作性上的技术说明,特别是怎样处理例如垃圾收集和多线程的特性。
首先,这本书是为开发者写的。在"JNI"各种特性上的丰富的各种讨论,和在怎样有效的使
用"JNI"的有帮助的提示后,你将能发现很容易按部就班的开始使用"JNI"。"JNI"在 1997 年
初初始发布。这本书总结了,在"Sun"微系统(Sun Microsystem)上工程师和还有在技术交流
社区中大量的开发者,获得的两年经验。
第二,这本书体现了各种"JNI"特性的设计基本原理。不仅学术界感兴趣这个,而且十分透
彻的实际理解也是高效使用 JNI 的先决条件。
第三,这个书的一部分是为"Java 2"平台的"JNI"定义规范。JNI 编程可以使用这个规范当作
参考说明书。Java 虚拟机的实现必须按照规范来一致实现。
关于这个规范的评论或关于"JNI"的问题请发送到我们的地址邮件:jni@java.sun.com。为了最
新的"Java 2"平台,或最新的"Java 2 SDK release"。请访问我们的网站
<<<http://java.sun.com>>>。为关于"Java Series"的更新信息包括这本的勘误表和将要出版书
的预览,请访问<<<http://java.sun.com/Series>>>。
"JNI"的设计引来了在"Sun Microsystems"和 Java 技术授权之间的一些列争论。"JNI"是来自
"Netscape"的 JRI(Java Runtime Interface)的部分进化而来,"JNI"是"Warren Harris"设计的。来
自 Java 技术授权公司的许多人积极地参与了设计的讨论。他们包括 Russ Arun(Microsoft),
Patrick Beard(Apple),Simon Nash(IBM),Ken Root(Intel),Ian Ellision-Taylor(Microsoft), and
Mike Toutoghi(Microsoft)。
"JNI"的设计也大量地得益于 Sun 内部设计评论,这评论来自 Dave Bowen, James Gosling,
Peter Kessler, Tim Lindholm, Mark Reinhold, Derek White and Frank Yellin。Dave Brown, Dave
Connelly, James McIlree, Benjamin Renaud, andTom Rodrigues 对"JNI"在"Java 2 SDK 1.2"上的
增强做出了有意义的贡献。在俄罗斯新西伯利亚(Novosibirsk)的兼容性测试的 Carla Schroer
的团队为"JNI"写了兼容性测试程序。在这过程中,他们发现了原始规范不清楚或不完整的
地方。
"JNI"技术没有 Dave Bowen, Larry Abrahams, Dick Neiss, Jon Kannegaard,and Alan Baraz 的管
理支持将不能被开发和部署。我得到来自我的经理 Dave Bowen 的强有力地支持和鼓励来写
这本书。
Tim Lindholm,《The Java Virtual Machine Specification》的作者,在"JNI"被设计时,正主
导 Java 虚拟机开发。Tim 在虚拟机和本机接口上做了引领性的工作,提倡"JNI"的使用和为
这书增加了严密性和清晰度。为这本书的封面的厨房和餐厅的艺术设计,他也提供初始的草
图。
这本书得益于许多同事的帮助。Anand Palaniswamy 写了第十章关于一般陷阱和缺陷(on
common traps and pitfalls)的部分。Janet Keonig 细心地预读初始的草稿和贡献了许多哦有用
的意见。Beth Stearns 根据在线的 JNI 指南写了第二章的草稿。
我从 Craig J.Bordelon, Michael Brundage, Mary Dageforde, Joshua Engel and Elliott Hughes 处
得到关于这本书草稿有价值的评论。
Lisa Friendly, The Java Series 的编者,有助于这本书的编写和出版。Ken Arnold, The Java
Programming Language 得到作者,首先提出了 JNI 书的编写。我要感谢在整个过程中 Mike
hedrikson 和 Marina Lang 给的帮助和耐心在 Addison-Wesley 出版社。Diance 监督了生产流
程从复制,编辑和最后的打印。
在过去的几年里,我和一群在 Sun Micorsystems 上的 Java 软件中有才能和奉献的人一起,
有特权的工作,特别是 original,HotSpot and Sun Labs 虚拟机团队成员。这本书献给他们
第一部分,介绍和指南
(Part One: Introduction and Tutorial)
第一章 介绍
"JNI"是"Java"平台的一个强大的功能。使用"JNI"的应用程序能能混合用例如"C"和"C++"语
言编写的本地代码(native code),和用 Java 编程语言编写的代码。"JNI"允许编程人员,在不
丢弃在传统编码上的投入,来利用 Java 平台功能。因为"JNI"是"Java"平台的一部分,编程人
员立马解决互操作的问题,同时解决和 Java 平台的所有的实现一起工作的问题。
这本书是"JNI"的编程指导和参考说明。书包含三个部分:
.第二章通过简单的例子,介绍"JNI"。这个说明,是给不熟悉"JNI"的初始使用者的。
.第三章到第十章构建了编程者的指南,这给出了大量 JNI 功能的全面介绍。我们通过一系
列短而详细描述的例子来展示"JNI"不同的功能,和展示被证明在"JNI"编程中有用的技术。
.第十一章到第十三章为所有的 JNI 类型和函数,展示明确的规范。这些章也被组织为参考
说明服务。
这本书尝试吸引广泛的用户,他们对 JNI 不同需求的。这指南和编程引导是为初始编程者,
但有经验的开发者和 JNI 的实现者可以找到更有用的参考章节在这指南和编程引导中。大多
数读者将可能是开发者,他们用"JNI"来写应用程序。这本书的"你"术语将暗指用"JNI"编程
的开发者(program with the JNI)。相反是"JNI"实现者(JNI implementors)或使用"JNI"写的应用
程序的终端用户。
这本书假设你有"Java,C 和 C++"编程语言的基本知识。如果没有,你可以参考许多有用的
优秀的书本:Ken Arnold and James Gosling(Addison-Wesley,1998)写的"The Java Programming
Language, Second Edittion", Brian Kernighan and Dennis Ritchie(Prentice Hall,1988)写的"The
C Programming Language, Second Edition"和 Bjarne Stroustrup(Addison-Wesley 1997)写的"The
C++ Programming Language, Third Edition".
这章剩余的部分介绍 JNI 的背景,作用和演化。
|