Java ME嵌入式程序设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5.3 Java应用程序管理器——JAM或AMS

JAM(Java Application Manager,Java应用程序管理器)或AMS(Application Management Software)的功能是,根据JAD文件的描述将MIDlet套件的内容文件JAR安装到硬件设备中,同时还具有运行和管理的功能。如果用户需要将MIDlet套件从硬件设备中移出,则要通过JAM的操作来实现。由此可见,JAM随着硬件设备的不同而不同。一般来说,每一种硬件设备的生产厂商会附带相应的应用程序管理器。

需要注意两个问题:MIDlet套件的运行安全和JAD文件与JAR文件的关系。在程序运行时,如果硬件设备支持多个MIDlet的并发运行,那么同一个套件内的所有MIDlet都在同一个虚拟机中运行,于是数据实现了共享。另外,Java的同步机制保证了数据的合法访问。这里的同步机制表现为:在虚拟机中,无论套件有多少个MIDlet在运行,同一时刻只有一个实例在占用虚拟机,于是避免了各MIDlet线程的同时访问。

在持久存储方面,套件内的MIDlet不能访问套件以外的持久存储,从而防止恶意代码非法地注入套件内。

尽管如此,MIDlet仍然被认为是不安全的,主要原因是,在Java 标准版J2SE中有安全管理和沙箱机制(Sandboxie,这是一款专业的虚拟类软件,它的工作是,通过重定向技术,把程序生成和修改的文件,定向到自身文件夹中),而由于硬件资源的限制,这些内容在MIDlet中都不存在,而且没有任何有效机制使用户确信程序的来源是可靠。因此,MIDlet的安全性仍有待提高。

一个完整的MIDP应用程序应该由一个JAD文件和一个JAR文件组成。JAD文件指明了JAR文件的位置。一般来说,移动设备的网络速度都比较慢,用户可以先下载较小的JAD文件,确定自己的硬件条件确实符合后,再下载JAR文件。