http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html

1. Introduction

Java Native Interface OverviewBackground

JDK 1.0 Native Method InterfaceJava Runtime Interface
Raw Native Interface and Java/COM Interface

ObjectivesJava Native Interface Approach
Programming to the JNIChanges in JDK 1.1.2

2. Design Overview

JNI Interface Functions and PointersCompiling, Loading and Linking Native Methods

Resolving Native Method NamesNative Method Arguments

Referencing Java Objects

Global and Local ReferencesImplementing Local References

Accessing Java Objects

Accessing Primitive ArraysAccessing Fields and Methods

Reporting Programming ErrorsJava Exceptions

Exceptions and Error CodesAsynchronous ExceptionsException Handling

3. JNI Types and Data Structures

Primitive Types
Reference Types
Field and Method IDs
The Value Type
Type Signatures
Modified UTF-8 Strings

4. JNI Functions

Interface Function Table
Version Information

GetVersion

Class Operations

DefineClassFindClassGetSuperclassIsAssignableFrom

Exceptions

ThrowThrowNew
ExceptionOccurredExceptionDescribe
ExceptionClearFatalErrorExceptionCheck

Global and Local References

NewGlobalRefDeleteGlobalRef
DeleteLocalRefEnsureLocalCapacityPushLocalFramePopLocalFrameNewLocalRef

Weak Global References

NewWeakGlobalRefDeleteWeakGlobalRef

Object Operations

AllocObjectNewObject, NewObjectA, and NewObjectV
GetObjectClass
GetObjectRefType
IsInstanceOf
IsSameObject

Accessing Fields of Objects

GetFieldIDGet<type>Field Routines
Set<type>Field Routines

Calling Instance Methods

GetMethodIDCall<type>Method Routines, Call<type>MethodA Routines, and Call<type>MethodV Routines
CallNonvirtual<type>Method Routines, CallNonvirtual<type>MethodA Routines, and CallNonvirtual<type>MethodV Routines

Accessing Static Fields

GetStaticFieldIDGetStatic<type>Field Routines
SetStatic<type>Field Routines

Calling Static Methods

GetStaticMethodIDCallStatic<type>Method Routines, CallStatic<type>MethodA Routines, and CallStatic<type>MethodV Routines

String Operations

NewStringGetStringLength
GetStringCharsReleaseStringChars
NewStringUTFGetStringUTFLength
GetStringUTFCharsReleaseStringUTFCharsGetStringRegionGetStringUTFRegionGetStringCriticalRelease StringCritical

Array Operations

GetArrayLengthNewObjectArray
GetObjectArrayElementSetObjectArrayElement
New<PrimitiveType>Array RoutinesGet<PrimitiveType>ArrayElements Routines
Release<PrimitiveType>ArrayElements RoutinesGet<PrimitiveType>ArrayRegion Routines
Set<PrimitiveType>ArrayRegion RoutinesGetPrimitiveArrayCriticalReleasePrimitiveArrayCritical

Registering Native Methods

RegisterNativesUnregisterNatives

Monitor Operations

MonitorEnterMonitorExit

NIO Support

NewDirectByteBufferGetDirectBufferAddressGetDirectBufferCapacity

Reflection Support

FromReflectedMethodFromReflectedFieldToReflectedMethodToReflectedField

Java VM Interface

GetJavaVM

5. The Invocation API

Overview

Creating the VMAttaching to the VM
Unloading the VM

Library and Version Management

JNI_OnLoadJNI_OnUnload

Invocation API Functions

JNI_GetDefaultJavaVMInitArgsJNI_GetCreatedJavaVMs
JNI_CreateJavaVMDestroyJavaVM
AttachCurrentThreadAttachCurrentThreadAsDaemonDetachCurrentThreadGetEnv

Java Native Interface Specification—Contents的更多相关文章

  1. Java Native Interface Specification Contents 翻译

    https://docs.oracle.com/en/java/javase/12/docs/specs/jni/index.html Google翻译 第1章:简介 本章介绍Java Native ...

  2. Java Native Interface Specification(JNI)

    Java Native Interface Specification(JNI) 使用场景: 需要的功能,标准的java不能提供 有了一个用其他的语言写好的工具包,希望用java去访问它 当需要高性能 ...

  3. Java Native Interface Specification

    http://docs.oracle.com/javase/6/docs/technotes/guides/jni/spec/jniTOC.html http://www.ibm.com/develo ...

  4. JAVA Native Interface (JNI)

    1.  Introduction At times, it is necessary to use native (non-Java) codes (e.g., C/C++) to overcome ...

  5. Java Native Interface 六JNI中的异常

    本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 在这里只讨论调用JNI方法可能会出现的异常, ...

  6. Java Native Interface 五 JNI里的多线程与JNI方法的注册

    本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 JNI里的多线程 在本地方法里写有关多线程的 ...

  7. Java Native Interface 四--JNI中引用类型

    本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 JNI支持将类实例和数组类型(如jobjec ...

  8. Java Native Interface 二 JNI中对Java基本类型和引用类型的处理

    本文是<The Java Native Interface Programmer's Guide and Specification>读书笔记 Java编程里会使用到两种类型:基本类型(如 ...

  9. Java Native Interface 编程系列一

    本文是<Java Native Interface Programmer's Guide and Specification>的读书笔记 Java Native Interface可以让编 ...

随机推荐

  1. Activity之间的通信

    通常Activity之间的通信有三种方式:单向不传参数通信.单项传参数通信和双向通信. 这几种传递方式都需要通信使者Intent.以下将用代码来辅助理解. 1.单向不传递参数通信 public cla ...

  2. 【转】Android 当打开“开发者模式”中的“不保留活动”后,程序应当怎么保持正常运行

    当打开这个设置以后,程序的Activity会自动销毁,每次返回的时候就会不断重oncreate,此时伴随的问题多多. 参考文档:http://www.bubuko.com/infodetail-960 ...

  3. iOS开发之组件化架构漫谈

    前段时间公司项目打算重构,准确来说应该是按之前的产品逻辑重写一个项目.在重构项目之前涉及到架构选型的问题,我和组里小伙伴一起研究了一下组件化架构,打算将项目重构为组件化架构.当然不是直接拿来照搬,还是 ...

  4. 用c#开发微信 (15) 微活动 1 大转盘

    微信营销是一种新型的营销模式,由于微信更重视用户之间的互动,故而这种营销推广不不能盲目地套用微博营销的单纯大量广告推送方式.这种方式在微信营销中的效果非常差,会令用户反感,继而取消去企业或商家的微信公 ...

  5. Dynamic CRM 2013学习笔记(十六)用JS控制Tab可见,可用

    一个Form里经常会有好几个Tab,有时要根据一些条件设置哪些Tab可用,可见.下面就介绍下如何用JS对Tab进行控制. 1. 控制可见   function setTabVisableByName( ...

  6. 实验七 状态机设计ADC0809采样控制电路

    一.实验目的 学习用状态机实现A/D转换器ADC0809的采样控制电路. 二.实验内容 利用QuartusⅡ实现A/D转换器ADC0809的采样控制电路状态机设计:给出仿真波形.最后进行引脚锁定并进行 ...

  7. [芯片] 4、接口技术·实验四·串行接口8251A

    目录 一.实验目的和要求... 2 二.实验原理与背景... 3 三.实验具体的内容... 3 四.实验的代码说明... 4 五.实验结果的分析... 6 附录资料 一.实验目的和要求 学会8251芯 ...

  8. ie下不显示图片

    IE支持的图片是必须为RGB三原色的,保存图片时,必须“另存为web可用的格式...”

  9. 关于eclipse android 在manifest改app应用包名注意事项

    在我刚学android 时候,然后立即就做项目.那时连eclipse 使用都不是很熟练.很多功能都不知道.新手如果这时去改app应用的包名,没有改好会变成所有控件在R文件里面id都找不到. 先上两张图 ...

  10. 聊聊 App Store 的产品和推广运营攻略

    在这个工匠的时代,越来越多开发者投入了手机应用的开发圈子.如何才能在激烈的竞争中脱颖而出,少走弯路呢?我们跟空中网负责iPhone游戏的运营和推广的洪亮进行了一次交流,得到了不少经验和诀窍,值得分享给 ...