Java用于嵌入式系统的十大优点和五个局限

本文探讨了Java在嵌入式系统中的应用,包括与处理器无关性、面向对象特性、安全性、内存管理和网络支持等优点,但也指出性能、垃圾收集开销、内存消耗、硬件接口限制和语言成熟度等局限。Java的跨平台性和网络功能使其在某些嵌入式场景下具有吸引力,但针对实时系统和低功耗设备时,需要面对性能和资源的挑战。
摘要由CSDN通过智能技术生成

 
     
  Java语言的优点在于:它最初是由理解和信奉网络计算梦想的一个小巧而专注的开发组设计的,虽然该语言最初的实施方案有点缺陷,但为了这个梦想,他们很少在技术上妥协,结果诞生了一种专为以相互通信为主要目 
的的设备而设计的语言。有许多技术上的优点都可能会引导嵌入系统开发者选择Java。

1.与处理器无关

Java的第一个优点就是与处理器无关,这个优点似乎与嵌入式系统没什么相干。传统上,嵌入程序就是针对特定的微处理器设计并在其上运行的,而C语言程序的可移植性则可通过编译或交叉编译来保障。

但是在Sun公司的模型中,一个程序可能是存储在一个系统上,而被下载并运行在另一个完全不同的系统上;设备可能从不同地方下载一些程序来在一个处理器上运行,或者不同的处理器运行一个程序,通过网络在相互间传递数据。使用Java,一个嵌入式系统就可能成为一个通用的通信设备,能下载并运行能完成特定任务的程序。

对嵌入式系统,这是一个新的模型,已经有一些开发者正在向它靠拢。例如,电视机顶盒的供应商已宣布并入JVM,以使用户能通过Java applets在他们观看电视的同时接收到的支持该电视节目的一些内容。这样你在观看足球比赛时,看到的支持内容就可以是对球员的技术统计,若你在看电影,看到的支持内容就可以是演员的背景资料。JVM还被移植到移动电话中,这样用户可接收股票报价信息、比赛分数及其他即时信息。

这是一个恰当的设计和实施模型,首先它可以使开发平台的选择更加灵活,无需在与目标相同的平台上开发,也不用关心交叉编译的问题,因为Java字节码能在任何有JVM的操作系统中运行。其次,这种模型带来的另一个优点是几乎所有的检测和调试可以独立于目标设备来进行。但是,一些数据输入和硬件交互要求在目标(或是很好的仿真系统)上测试。由于个别JVM有时有兼容性的问题,你应该在所有将用到该程序的平台上测试它。但一般来说,你并不要高级而昂贵的、配备有逻辑探针、ICE以及其它调试工具的、针对目标平台的开发环境。

2.面向对象提高开发速度和可维护性

Java是一种纯粹面向对象的语言。所有代码和数据都是某个类的一部分,没有全局变量或是独立于类存在的代码,一个对象是一个类的实例,对象是通过调用操作方法,或者说函数来操作的,而这些方法或函数也是类的一部分,对象的方法就对象的数据进行操作。Java类被组织成一个等级层次,在层次结构中,一个子类能够继承其超类的行为,并可用子类所具备的一些特有功能来扩展其超类的功能。对象模型是你能定义对应真实事物的数据结构,使得程序的任务和任务如何实现者二者之间的转换变得基本上透明。

Java类层次有六个主要的类(共有二十三个类)成为类包(packages)。要应用任何包中的任何对象,你只需要申明那个包。你也拥有类层次中的全继承性,任何层次深部的对象都可取用层次中较高处定义的所有方法。

面向对象的设计和编程的优点在于其开发速度和代码的可维护性,许多面向对象的开发都能通过利用和更改现存类库来完成,而不是创造一个新的结构。这就使开发加快了,Sun’s Java Workshop(一个完全用Java写的IDE)的开发者能在几个月内建立一个功能齐备的图形IDE就是一个很好的证据。面向对象的方法还尽量使用自然的结构,使其有很高的可读性,且可轻易更改和加强。

3.安全高

由于有了JVM,一个Java应用程序与操作系统或硬件完全隔绝,因此计算机病毒或其他作祟的代码就很难获得对设备的控制。虚拟机是主机设备和那些可能难以确定其质量和可靠性的软件之间的一个保护层。

另外,Java设计者从该语言中去掉了指针变量的概念。Java不能任意访问内存,只能读写有Java内存分配管理系统创建的对象。由于Java编译器所强制的严格的分类机制,从理论上来说,访问那些未分配给程序的内存区域是不可能的。这个限制使得要写恶意代码的程序变得非常困难

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值