在幸福中痛苦的挣扎

专注于效率 专注于价值
 
书法.JAVA BLOG

JNI技术在嵌入式软件开发中的应用学习笔记之一

嵌入式系统是以应用为中心、以计算机技术 为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式软件 的基本体系结构包括嵌入式实时操作系统RTOS(RealTime operating Systerrl)、嵌入式设备驱动程序 、嵌入式应用程序编程接口(中间件)和嵌入式应用程序。


    现阶段,计算机应用的普及、互联网技术的实用以及纳米微电子技术的突破,正有力推动着21世纪的工业生产、商业活动、科学实验和家庭生活等领域自动化和信息化进程。全过程自动化产品制造、大范围电子商务活动、高度协同科学实验以及现代化家居生活,为嵌入式产品造就了崭新而巨大的商机。除了沟通信息高速公路的交换机、路由器和调制解调器,构建计算机集成制造系统(CIMS)所需的数据传输系统DCS(Data Communication System)和机器人以及规模较大的家用汽车电子系统,最有产量效益和时代特征的嵌入式产品应数因特网上的信息家电(information appliances),如网络可视电话、网络游戏机、电子商务、商务通(PDA)、移动电话以及多媒体产品(如电视机顶盒、DVD播放机、电子阅读机)。


    众所周知,“一次编程,到处使用”的 Java 软件概念原本就是针对网上嵌入式小设备提出的,几经周折,目前SUN公司已推出了J2ME(Java 2 P1atform Micro Edition)针对信息家电的Java版本,其技术日趋成熟,开始投入使用。SUN公司Java虚拟机(JVM)技术的有序开放,使得Java软件真正实现跨平台运行,即Java应用小程序能够在带有JVM的任何硬软件系统上执行。加上Java语言本身所具有的安全性、可靠性和可移植性等特点,对实现瘦身上网的信息家电等网络设备十分有利,同时对嵌入式设备特别是上网设备软件编程技术产生了很大的影响。

   1 Java的性能问题及几种解决方案
    Java程序也有其本身的缺陷,那就是其效率问题。由于Java是一种介于解释型和编译型之间的语言,其对内存的管理是通过JVM虚拟机来实现的,同样的程序,如果用编译型语言C来实现,其运行速度一般要比Java快得多。因此,提高Java的性能就显得十分重要。


    迄今为止,人们为提高Java的运行速度而做出的许多努力,主要集中在程序设计的方法和模式选择方面。但是由于算法和设计模式的优化是通用的,对Java有效的优化算法和设计模式,对其他编译语言也基本适用,因此不能从根本上改变Java程序与编译型语言在执行效率方面的差异。


    另外,JIT(Just In Time,及时编译)技术也是一个比较好的思想。它的基本原理是,首先,通过Java编译器把Java源代码编译成与平台无关的二进制字节码。然后,在Java程序真正执行之前,系统通过JIT编译器把Java的字节码编译为本地化机器码。最后,系统执行本地化机器码,不用对字节码进行解释。这样做的优点是,大大提高了Java程序的性能,缩短了加载程序的时间;同时,由于编译的结果并不在程序运行期间保存,因此也节约了存储空间。缺点是,由于JIT编译器对所有的代码都想优化,因此同样也占用了很多时间。


    动态优化技术即提前编译为机器码的技术(dynamicopttmization,ahead of time technology)是提高Java性能的另一个尝试。动态优化技术充分利用了Java源码编译、字节码编译、动态编译和静态编译的技术。其输入是Java的源码或字节码。而输出是经过高度优化的可执行代码和动态库(WindoW中是.dil文件,UNIX中是共享库.a.so文件)。其优点是能大大提高程序的性能,缺点是破坏了Java的可移植性,也对Java的安全带来了一定的隐患。

     2 JNI技术
    实际上,有一种通常被忽视的技术可以在很大程度上解决这个难题,那就是JNI(Java Native Interface,Java本地化方法)。图l是JNI技术实现的一般步骤。




点击查看原图
                    

                                                                                                                                                             

posted on 2006-11-13 03:46 书法 阅读(1148) 评论(0)  编辑  收藏 所属分类: 其它相关


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 

My Links

Blog Stats

News

常用链接

留言簿(4)

随笔分类(6)

随笔档案(6)

文章档案(1)

收藏夹(4)

友情链接

最新随笔

最新评论

阅读排行榜

评论排行榜


copyright@2006 书法(soft)版权所有.
E_mail:posoft@126.com     点     点我找我