码迷,mamicode.com
首页 > 编程语言 > 详细

从编程到设计之路:Java 与 C/C++整合的JNI设计

时间:2015-08-17 12:19:53      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:c c++ java jni

高老师陪您成长...

  技术分享 


  << 高焕堂演讲主题 >>           

主题:从编程到设计之路:Java 与 C/C++整合的JNI设计

地点:杭州.浙江大學 (2014/6/5)

下载:高焕堂的演讲PPT


    << 內容說明 >>              

☆ 无论是C++Java,都是从C语言的struct数据结构和function代码结构为基础,而发展出来的。因此,JavaC/C++可以进行无缝对接的设计。如下图:

   技术分享   

☆ 以上是两个观点(视角)的交叉,C语言是从函数观点切入,看到了函数的代码指挥计算机硬件去处理(Process)数据。如下图: 

  技术分享

 在这C语言函数视角里,人们的思维和表达形式为:请电脑打开Led灯,或关闭Flash灯。电脑代码则可表示为:turnOn(Led灯),或者:turnOff(Flash灯)

☆ 现在,可变换成为Java语言的对象(数据)视角。此时,人们的思维和表达形式转变成为:请Led灯自己打开,或请Flash灯自己关闭。电脑代码则可表示为:Led灯.turnOn,或者:Flash灯.turnOff如下图

       技术分享

☆ 于是,把原来C语言的函数(如turnOn)打包进去Light类里,然后创建Light类的对象,再透过Light对象去调用turnOn()函数来打开自己。如下图

     技术分享 

 上图里的turnOn()和turnOff()函数里的代码,可以使用Java来写,也可以使用C/C++语言来写。 

☆ 如果使用C/C++来写,就定义了JNI来建立Java与C/C++之间的沟通接口标准了。如下图

      技术分享

☆ 还有许多重要技术。例如,无论是CJava都必须将目前对象(Current Object)指针传给C函数。让C函数可指向目前对象,以便存取对象的内部属性质或调用类里的其它函数。

☆ 请下载高老师的PPT,有详细说明,下载:高焕堂的演讲PPT

                                 



从编程到设计之路:Java 与 C/C++整合的JNI设计

标签:c c++ java jni

原文地址:http://8204129.blog.51cto.com/8194129/1685137

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!