自动化在线 自动化在线 数据加载中... 数据加载中...
首页 | 下载系统 | 供求信息 | 新闻系统 | 企业信息 | 产品信息 | 展会信息 | 论坛
首页 > 新闻系统 > 电子技术 > 技术 > 嵌入式系统
 
Java能扮演嵌入式应用开发的主角吗?
作者:sterning   发布时间:2007-10-23 09:11:47 来源:IT168/ 繁体版

  总之,采用Java平台所需的测试,最差的情况也就跟采用原始语言(C/C++)一样,但大部分情况下,都优于后者。而且,更具有兼容性的保证。

  四、Java很占内存吗?

  使用Java平台进行嵌入式设备开发时,其对内在的使用量,会不会比使用原始语言如C/C++更大些呢?这取决于软件的复杂性。Java由于虚拟机和内库的原因,有可能会导致内存开销的增大。下面比较一下Java平台内存的占用情况(基于Sun的实现):

  CLDC(Connected Limited Device Configuration,运算功能有限、电力有限的嵌入式装置,如PDA 、手机等):可工作于100K(RAM),JIT(Just In Time,即时编译技术)需要最大些。典型的部署要求500K-16M(RAM)。

  CDC(Connected Device Configuration,运算能力相对较佳、并请在电力供应上相对比较充足的嵌入式装置,如冷气机、电冰箱等):VM约为250K,JIT小于300K,VM+JIT+基础类库约占2-2.5M。典型的部署要求:4M-32M。

  当然,内存的占用量还取决于应用的大小及内在的使用情况。可以看出,其实Java平台不会占用太大的内存。但是,这只是问题的一半。另一半是,Java代码最后部署时是以类文件来部署的,它主要是包括字节码和元数据。通过对CVM数据的分析,可以看出,字节码占据着大概30%的数据量。而采用JIT编译的代码相对于字节码而言,可以发现,内存的占有量增加了,并有一个7-8倍的ARM指令集。由于,可以估计:

  Java类转成字节码的速度≈1/30%≈3.3x;

  原始语言转成字节码的速度≈7x。

  这意味着,Java代码的内存使用量约为原始语言代码的一半。当然这只是非常粗略的估算,但却是合理的估算。

  使用Java的JIT后,只有那些使用频率高的代码才会被编译。而在系统中只是偶然被执行的代码则采用解释来编译。同时,JIT尽量使被编译的代码其内存占有量保持在一较小的范围内。对CVM(CDC所使用虚拟机),默认值为512K。而在一些较优秀的程序中,可以发现,其值为100K-300K。

  这也就是说,使用Java编写的程序,只有使用频率比较高的代码才导致内存占用的增加。相反,使用C/C++编写的程序,整个代码都需要进行编译。因此,不能说使用Java语言编写的程序占用的内存就会比使用C/C++编写的程序大。这决定于软件相对于平台代码的复杂度及大小。如果软件规模比较大,Java平台所消耗的内存远小于Java类文件简洁性节约的内存,这种情况下,使用Java平台将有利于节约内存。如果软件的规模比较小,则Java平台消耗的内存就比较明显了,可以考虑使用C/C++来开发,以节约内存。

  五、  结论

  Java语言最初的设计企图是想用于控制消费性电子产品,本为嵌入式设备而设计,但随着因特网的兴起,Java在台式机和服务器端的应用开发中取得了巨大的成功。Java在应用中充分展示其通用性与完全性等优势,而这在嵌入式设备的应用开发中是至关重要的,这使得Java重返开发领域成为必然。STK Java卡和的成功应用昭示着Java在嵌入式系统应用开发中的美好前景。

  
评论】【加入收藏夹】【 】【打印】【关闭
来顶一下
近回首页
返回首页
※ 相关信息
无相关信息
关键:

※ 其他信息
高速嵌入式系统的串行互连
采用分而治之的方法设计嵌入式系统
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

 
 搜索新闻
 最新新闻
·2008第三届中国(郑州)国际
·伺服器维修,伺服驱动器维修,
·新售经济型16路无纸记录仪
·2008第二届中国郑州城市供热
·华北工控新型机箱获国家知识
·华北工控加入深圳市质量协会
·华北工控工业平板电脑,服务
·华北工控携多套创新性解决方
·六月巨献,华北工控高端全长
·低压电器特价销售
 热点新闻 
·PLC课程设计课题——三层电梯
·先进控制技术及应用
·CK6432(FANUC-0TD)数控车床
·一般变频器常见故障及处理
·变频器原理
·集成温度传感器AD590及其应用
·基于PLC的机械手控制设计
·谈步进电机的PLC控制方法
·3G无线接入网IP化传送承载方
·软开关技术综述
数据加载中..

网站地图
Autooo.Net 版权所有
Copyright © 2007 All rights reserved