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. ReactJs设置css样式

    前段时间看了React Native,但是感觉在安卓反面的开发并不成熟.有较多功能有待完善,而且自己在实际运用的过程中在一些模块上遇到了不晓得阻力,又苦于网上没有找到那么多资源.于是打算先放一段时间, ...

  2. 《理解 ES6》阅读整理:块绑定(Block Binding)

    变量声明一直是JavaScript中一个需要技巧的部分.在大多数基于C的编程语言中,变量(更正式地说是绑定)在声明的时候创建,然而在JavaScript中并不是这样.在JavaScript中,变量在何 ...

  3. orcale 匿名代码块

    declare cursor readflow_cur is select * from od_readflow t where t.flowid is null; l_emp od_readflow ...

  4. SQL Server优化器特性-隐式谓词

    我们都知道,一条SQL语句提交给优化器会产生相应的执行计划然后执行输出结果,但他的执行计划是如何产生的呢?这可能是关系型数据库最复杂的部分了.这里我为大家介绍一个有关SQL Server优化器的特性- ...

  5. 给“.Net工资低”争论一个了结吧!

    昨天我写了一篇<工资低的.Net程序员,活该你工资低>,底下的支持.争吵.骂娘的评论依旧像之前几篇园友的博客一样繁荣.公说公有理,婆说婆有理,这样争吵下去永远没有尽头.数据没有情绪,是公正 ...

  6. 作业七:团队项目——Alpha版本冲刺阶段-02

    昨天进展:框架设计以及菜单设计. 今天安排:完善界面设计以及象棋图片的绘制. 小组一共三人,陈芝航因家里有事,与我们进行了QQ视屏会议.

  7. String.Format in javascript

    有些时候,我们确实需要在JavaScript中进行字符串替换,类似于C#中的String.Format()方法一样,只不过这种格式化替换只局限于对由'{0}','{1}','{2}'...所组成的“占 ...

  8. CentOS挂载NTFS移动硬盘

    CentOS操作系统默认无法挂在NTFS格式的移动硬盘,解决方案之一为使用ntfs-3g挂在: 1. 在其官网上下载安装包: http://www.tuxera.com/community/open- ...

  9. Atitit。如何实现dip, di ,ioc ,Service Locator的区别于联系

    Atitit.如何实现dip, di ,ioc  ,Service Locator的区别于联系 1. Dip原则又来自于松耦合思想方向1 2. 要实现dip原则,有以下俩个模式1 3. Ioc和di的 ...

  10. atitit.提升软件开发的效率and 质量的那些强大概念and方法总结

    atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码  2 1.3. 学 ...