JNI学习笔记

来源:互联网 发布:ubuntu 释放内存 编辑:程序博客网 时间:2024/06/16 08:07
基本类型和本地等效类型
Java类型 本地类型 说明
boolean jboolean无符号,8 位
byte jbyte 无符号,8 位
char jchar 无符号,16 位
short jshort 有符号,16 位
int jint 有符号,32 位
long jlong 有符号,64 位
float jfloat 32 位
double jdouble 64 位

void void N/A


1.GetStringUTFChars 中获取的 UTF-8 字符串在本地代码中使用完毕后,
2.要使用ReleaseStringUTFChars 告诉 JVM 这个 UTF-8 字符串不会被使用了,因为这个
UTF-8 字符串占用的内存会被回收。


eg:
const jbyte *cstr;
cstr = (*env)->GetStringUTFChars(env, pathname, NULL);
if (cstr == NULL) {
return NULL; /* OutOfMemoryError already thrown */
}

Java 虚拟机类型签名
类型签名 Java 类型
Z boolean
B byte
C char
S short
I int
J long
F float
D double
L fully-qualified-class ;   全限定的类
[ type type[]
( arg-types ) ret-type 方法类型

例如, Java 方法:
long f (int n, String s, int[] arr);
具有以下类型签名:
(ILjava/lang/String;[I)J
0 0
原创粉丝点击