|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
再举这样一个例子:如果你想对一个数字取绝对值,你会怎么做呢?java的做法是intc=Math.abs(-166);而ruby的做法是:c=-166.abs。呵呵,这就看出了java与ruby的区别。
择要
Jace是一种收费的开放源代码的工具,它使我们可以轻松地开辟JNI(Java本机接口)代码。本篇文章具体地剖析了JNIAPI的成绩,和怎样利用Jace办理这些成绩。
假如没有更深的懂得,我们必定会觉得Sun计划JNI的目标是为了不让Java编程职员利用它。究竟,范例平安形同虚设,缺少毛病反省机制,举行一次复杂的Java办法挪用必要4次或更多的JNI挪用,这都是JNI分明的不敷的地方。别的,我们还必需办理JNIEnv指针,不克不及在多个线程中利用JNI挪用,必需为每种大概的操纵在9个函数挪用中举行选择,并且非常信息的猎取也十分地坚苦。这还只是JNI所呈现成绩的一部分,我们还能发明很多其他成绩。
这些限定中的很多部分都与JNI与C言语的绑定有关,C言语自己对范例平安、非常处置机制的撑持也十分欠好。只管今朝年夜多半的编程职员都已可以利用C++编写代码,但Sun没有保持C编程职员,这也是JNI今朝这类情况的缘故原由。不幸的是,这类很难利用的API给开辟职员带来了很多坚苦。
Jace是一款收费的开放源代码的工具包,旨在使JNI编程变得加倍复杂。它撑持由Java类文件主动天生C++代办署理类和C++与Java的非常、数组、包、对象的整合,办理Java援用的线程绑定和性命周期。更加主要的是,它可以使我们开辟更小、更容易于了解、在编译时范例平安的模块。
JNI的范例体系
Jace最基础的特性是它利用C++代办署理类来表达Java范例。为了真正地舆解代办署理类的长处,我们起首必要来看看JNI的范例体系。Sun在JNI中利用了24种C范例来暗示一切大概的Java范例。JNI包括有9个复杂范例:
·jboolean
·jbyte
·jchar
·jshort
·jint
·jlong
·jdouble
·jfloat
·void
JNI有14种援用范例,以下图所示:
<br>
(图:picture01)
别的,JNI有一个复合型的范例jvalue,它可以表达一切的复杂和援用范例。
<p>
首先第一点:jsp,servlet,javabean这些最基本的,嘿嘿,就算你是高手的话,在大行的企业级应用的话还是需要框架的,一个好的框架确实能构解决许多问题。 |
|