热度 15
2014-2-28 12:11
1058 次阅读|
0 个评论
我们一直在强调,移动信息设备的内存非常小,使用起来应该加倍的珍惜,但是我们却很少知道这些内存是如何分类的,下面将对内存分类做一个详细的介绍。 J2EE 开发者应知的内存分类 我们一直在强调,移动信息设备的内存非常小,使用起来应该加倍的珍惜,但是我们却很少知道这些内存是如何分类的,下面将对内存分类做一个详细的介绍。 J2EE 开发者应知的内存分类之 ProgrammeMemory 、 Heap 、 persistentStorage ProgrammeMemory 是移动信息设备分配给 MIDletsuite 的空间,因为 MIDletsuite 是以 jar 文件进行发布的,所以这个文件的大小可以认为是 ProgrammeMemory 的大小。一些厂商对 ProgrammeMemory 的最大值是有限制的,例如我的 Nokia6108 的最大值是 64k, 超过的话将不能进行安装。减小 MIDletsuite 的大小非常重要,一个便捷的方法就是使用混淆器对应用程序进行混淆,这样可以减小 jar 文件的大小。在以后的文章中我会谈到如何使用 Proguard. Heap 是应用程序在运行过程中存放所创建的对象的存储空间,本地变量和成员变量也是放在 Heap 上的, MIDP 设备中提供的 Heap 空间大概在几十 k 到几百 K. PersistentStorage 的空间是用来实现 MIDP 应用程序的本地数据持久性存储的,在 RecordManagementSystem 从入门到精通中我做了详细的介绍这里就不再多说了。 J2EE 开发者应知的内存分类之 ConnectedLimitedDeviceConfiguration CLDC 标准为了能够涵盖尽可能多的设备,其类库只包含了最小的 Java 平台特性和 API 。面对严格的内存限制和当前各种各样的小型设备, CLDC 不可能覆盖全部的这些设备。因此在 CLDC 的规范中,不可避免的会造成对某些设备要求过高或是对另一些设备要求又太低的现象。 为了确保与其他 Java 平台的兼容性,绝大多数的 CLDC 类库是从 J2SE 和 J2EE 中继承的,是 J2SE 和 J2EE 的子集。由于目标设备的特殊性, CLDC 类库在安全、输入 / 输出、用户界面、网络和存储管理等方面没有全部使用 J2SE 的实现;其中的部分类库 CLDC 进行了重写,如网络连接。 CLDC 包括一个 Java 虚拟机和一系列的基础类, J2EE 的专家组经过对移动信息设备进行硬件抽象后得到他们的特点,然后设计并实现了在移动信息设备上运行的 java 虚拟机,通常我们把它叫做 KVM. 在 CLDC1.0 还同时提供了由 java.io 、 java.lang 、 javax.microediton.io 、 java.util 组成的基础类。在 CLDC1.1 里面添加了 java.lang.ref. J2EE 开发者应知的内存分类之 MobileInfomationDeviceProfile MIDP 是运行在 CLDC 基础之上的,用来描述手机和寻呼机这样更加具体化的的无线移动设备。在 MIDP 中定义了应用程序的生命周期、用户图形界面、数据管理系统等子集,从而构建起了 J2EE 平台。 MIDP 定义了一个标准的 Java API 集合,此集合与联网的受限设备配置 CLDC 一起提供了一个面向移动信息设备(如移动电话、双向寻呼机和无线个人电脑记事本)的完整 应用程序运行环境。通常, J2EE 平台由一个 CLDC 和一个或者多个 Profile 构成 . 以上就是 J2EE 开发者应知的内存分类,如果开发者能更深入的理解这写分类,我想未来的移动信息设备上使用的程序将会更加精致。 本文转载自厦门艾丽勤软件开发有限公司 Java 开发编辑部 ! ~ 原文网址: http://www.alqsoft.com/xiangguanjishu/javakaifa/J2EEkfzyzdncfl_53.html