![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JNI官方文档翻译
mtaxot
这个作者很懒,什么都没留下…
展开
-
JNI官方文档翻译1-开篇
JNI : Java Native Interface, 是Java调用C/C++的接口协议。写本系列文章的目的是让更多Java的程序员熟悉JNI,至少知道JNI怎么用。网上很多教程,无外乎一个helloword就结束了,对JNI的一些列API的使用介绍甚少,这也是大多数人停留的层次。本文试图对JNI系列文档做翻译,当然不会逐字逐句的翻译,而是经过了我的理解和消化,做出一个满足 “信“, ”达“翻译 2016-05-16 09:43:07 · 1158 阅读 · 0 评论 -
JNI官方文档翻译5-局部和全局引用
时间过得好快,一转眼写到了第五章,JNI对于许多java程序员来说一般是很陌生的,因为,要想使用JNI必须使用C,然而很多Java程序员都不会C,其实实际上不是这样的。项目中应该是分工协作才是,JNI作为一种粘合剂,将Java代码和C代码粘合在一起。作为一个java程序员,你至少应该会一点点C。 JNI暴露给程序员的并不是真正的引用,而是不透明引用,文档当中称之为opaque翻译 2016-05-16 17:30:55 · 1503 阅读 · 0 评论 -
JNI官方文档翻译4-属性和方法的访问
本篇文章介绍如何访问任意对象的属性和方法,当然是在native层访问,方法的访问一般作为java层的回调来访问。我们先从 属性的访问和回调函数的访问开始,接下来再讨论一下使用一种高效简单的缓存技术来提高效率。最后我们讨论native访问java层属性和方法的性能特点。 属性的访问: Java语言支持两种属性,每个实例都有自己独立的属性,所有实例共享同一份静态属性。JNI提供get se翻译 2016-05-16 15:00:07 · 4418 阅读 · 0 评论 -
JNI官方文档翻译3-基本数据类型 字符串 数组
在使用JNI的时候,你问的最多的问题莫过于 Java的数据类型和C/C++的数据类型怎么一对一映射。在我们的HelloWord例子当中,我们并没有传入任何参数给我们的java层print方法,native方法也并没有返回任何数据而是void,本地方法只是简单的打印一个字符串,然后就返回了。实际开发中我们都需要传入参数,返回参数,本章就会讨论如何从java层向底层传数据,以及如何从底层向java层返翻译 2016-05-16 10:41:45 · 3980 阅读 · 0 评论 -
JNI官方文档翻译2-Getting Started
第一个Java调用C程序的HelloWord由下面几步构成:1. 创建HelloWord.java 并声明Native方法 2. 使用javac编译HelloWord源文件生成HelloWord.class 3.使用javah -jni生成C头文件HelloWord.h, 这个头文件包含本地方法的原型声明 4.编写本地方法的HelloWord.c实现,应当包含HelloWord.h 5.编译Hel翻译 2016-05-16 09:57:02 · 1037 阅读 · 0 评论 -
JNI官方文档翻译6-异常
我们之前遇到了很多调用JNI函数抛异常的情形,我们通过检查返回值NULL的情况。这一节我们介绍怎么发现异常并且从这些错误情况中恢复。我们主要关注于JNI调用产生的异常,如果JNI系统调用发生了异常,我们可以检查返回值,但是,如果我们调用java层回调函数callback,那么接下来的内容你就需要注意了,我们需要遵循以下几个步骤。 我们通过几个例子,介绍JNI处理异常的函数。翻译 2016-05-17 09:09:30 · 1315 阅读 · 0 评论