第十一章 JNI设计概述 本章给出了JNI设计的概述,必要时,我们也提供底层技术的动机。设计概述作为关键JNI概念(如JNIEnv接口指针,本地和全局引用以及字段和方法ID)的规范。技术动机旨在帮助读者了解各种设计的权衡…
(译文) JNI编程指南与规范 第十章 陷阱与缺陷
第十章 陷阱与缺陷 为了突显前面几章中介绍的重要技术,本章涵盖了JNI程序员长犯的一些错误。这里描述的每个错误都发生在现实世界的项目中。 10.1 错误检查 编写本地方法最常见的错误是忘记检查是否发生了错误情况。与Jav…
(译文) JNI编程指南与规范 第九章 利用现有的本地库
第九章 利用现有的本地库 JNI的一个应用就是利用已存在的本地库中现有的代码来编写本地方法。本章介绍的一个典型方法是生成一个封装了一系列本地方法的类库。 本章首先介绍编写包装类最直接的方法R…
(译文) JNI编程指南与规范 第八章 附加的JNI特性
第八章 附加的JNI特性 我们已经讨论过用于编写本地代码的和在本地程序中嵌入一个Java虚拟机实现的JNI特性。这一章我们将介绍剩余的JNI特性。 8.1 JNI和线程 Java虚拟机支持在同一地址空间中同时执行的多个控…
(译文) JNI编程指南与规范 第七章 调用接口
第七章:调用接口 这一章用于说明在你的本地代码中如何嵌入一个Java虚拟机。Java虚拟机实现通过作为一个本地库来传输,本地应用程序可以连接此库并使用调用接口来加载Java虚拟机。的确,在JDK或Java 2 SDK版本…
(译文) JNI编程指南与规范 第六章 异常
第六章 异常 我们已经遇到大量在本地代码中需要检查执行JNI方法后可能产生的错误。这一章将介绍本地代码如何从这些错误状况中检测和修复。 我们将会重点关注作为JNI函数调用的…
(译文) JNI编程指南与规范 第五章 本地和全局引用
第五章 本地和全局引用 JNI将实例和数组类型(例如jobject、jclass、jstring和jarray)公开为不透明引用。本地代码不能直接检查不透明引用指针的内容。而是通过JNI函数来获取…
(译文) JNI编程指南与规范 第三章 基本类型、字符串和数组
第三章 基本类型、字符串和数组 当面对Java应用程序混合本地编程语言代码时,程序员经常会问的一个问题是:Java编程语言中的数据类型是如何映射到C/C++等本地编程语言中的数据类型的。上一章中介…
(译文) JNI编程指南与规范 第二章 开始编程
第二章 开始 本章将引导你了解如何使用Java本地接口。我们将编写一个Java应用程序调用一个C函数来答应“Hello World!”。 2.1 概述 图2.1表明使用JD…
(译文) JNI编程指南与规范 第一章 介绍
第一章 介绍 Java本地接口(JNI)是JAVA平台中的一个强大功能。使用JNI编程的程序能够调用C/C++编写的本地代码,同时也可以调用JAVA编写的代码。JNI允许程序员能够在使用JAVA带…