Java 本地接口规范 Java 本地接口规范 1997 年 5 月 16 日 目录 1. 简介 Java 本地接口概述 背景 JDK 1.0 本地方法接口 Java 运行时接口 原始本地接口和 Java/COM 接口 目标 Java 本地接口方法 利用 JNI 编程 JDK 1.1.2 中的变化 2. 设计概述 JNI 接口函数和指针 加载和链接本地方法 解析本地方法名 本地方法的参数 引用 Java 对象 全局和局部引用 实现局部引用 访问 Java 对象 访问基本类型数组 访问域和方法 报告编程错误 Java 异常 异常和错误代码 异步异常 异常的处理 3. JNI 的类型和数据结构 基本类型 引用类型 域 ID 和方法 ID 值类型 类型签名 UTF-8 字符串 4. JNI 函数 接口函数表 版本信息 GetVersion 类操作 DefineClass FindClass GetSuperclass IsAssignableFrom 异常 Throw Throw New ExceptionOccurred ExceptionDescribe ExceptionClear FatalError 全局及局部引用 NewGlobalRef DeleteGlobalRef DeleteLocalRef 对象操作 AllocObject GetObjectClass IsInstanceOf IsSameObject 访问对象的域 GetFieldID Get
Field 例程 SetField 例程 调用实例方法 GetMethodID CallMethod CallNonvirtualMethod 访问静态域 GetStaticFieldID GetStaticField 例程 SetStaticField 例程 调用静态方法 GetStaticMethodID CallStaticMethod 字符串操作 NewString GetStringLength GetStringChars ReleaseStringChars NewStringUTF GetStringUTFLength GetStringUTFChars ReleaseStringUTFChars 数组操作 GetArrayLength NewObjectArray GetObjectArrayElement SetObjectArrayElement NewArray 例程 GetArrayElements 例程 ReleaseArrayElements 例程 GetArrayRegion 例程 SetArrayRegion 例程 注册本地方法 RegisterNatives UnregisterNatives 监视程序操作 MonitorEnter MonitorExit Java 虚拟机接口 GetJavaVM 5. 调用 AP I 概述 创建虚拟机 连接虚拟机 卸载虚拟机 初始化结构 调用 API 函数 JNI_GetDefaultJavaVMInitArgs JNI_GetCreatedJavaVMs JNI_CreateJavaVM DestroyJavaVM AttachCurrentThread DetachCurrentThread 1 - 简介 本章介...