Java SE Embedded 8 是 Java SE 技术的新版本,首次包含了紧凑 Profile 特性。3 个新的紧凑 Profile 所代表的 3 个小的 Java SE 运行时是完整 Java SE 8 API 规范的兼容子集。第一个紧凑 Profile compact1 是 Java ME CDC 与 Java SE Embedded 融合的基础。这个 compact1 profile 是一个类似于 Java ME CDC 和 Foundation Profile 的标准,包含传统 CDC 嵌入式设备中使用的典型无头可选软件包。这个 compact1 profile 支持将 CDC 无头应用迁移至 Java SE Embedded 8,同时满足 CDC 嵌入式设备对低占用空间的要求。
为了确保 Java SE Embedded 8 compact1 与 Java ME CDC 之间的兼容性,选择了 Java SE 8 最小的一组 API 核心库软件包,而不用省略类。添加了日志记录和 SSL 软件包,因为大多数嵌入式设备都需要它们。从 Java SE 8 API 中选择最小的一组核心库软件包,并仔细考虑大小约束,可提供与 Java ME CDC和 Foundation Profile 中的核心库相同的功能级别。
在此表中,您可以看到 Java SE Embedded 8 的 compact1 配置文件的软件包级别描述
| compact1 | 核心 (java.lang.*) | 安全性 | 序列化 |
| 网络 | 引用对象 | 正则表达式 | |
| 日期和时间 | 输入/输出 | 集合 | |
| 日志记录 | 并发性 | 反射 | |
| JAR | ZIP | 版本控制 | |
| 国际化 | JNDI | 覆盖机制 | |
| 扩展机制 | 脚本编写 |
图 1 compact1 软件包描述
可以看到,上述软件包描述所对应的一组功能是嵌入式设备上的无头应用经常调用的一组库,其调用方式与 Java ME CDC 和 Foundation Profile 专家组所选择的 API 类似。大多数嵌入式应用都可以通过 Java SE 8 的最高级核心库特性来运行这组功能。
将 compact1 作为紧凑 Profile 而不是作为 Java ME 堆栈的 CDC 规范提供的好处包括:
compact1 运行时的典型大小约为 11MB。因此,只需经过优化的 Java SE Embedded 7 无头版本的原始占用空间的三分之一,就可以得到与 Java ME CDC 一样功能非常强大的运行时环境。典型 Java ME CDC 程序员应发现 compact1 中的特定软件包是他们所熟悉的,而且可能乐于见到其中增加了 Annotation、Concurrent、Pref、Script、Time 和 NIO,这是 CDC 和 Foundation Profile 规范所不具备的。
图 2 compact1 软件包名称
还有其他一些值得一提的 Java SE Embedded 新特性,是在 CDC 之后 Java SE 体系中的新进展。其中包括 Hotspot VM 的新特性,Hotspot VM 这个 Java 虚拟机针对嵌入式设备进行了优化和调优,同时还提供 Java SE 技术的功能:
总的来说,采用初始 compact1 配置文件的 Java SE Embedded 8 Compact Profile 能够提供与传统 Java ME CDC 及 Foundation Profile 体系的兼容性,同时还可以发挥 Java SE 8 新特性和功能的优势,包括新的 Java SE 8 语言特性、新的嵌入式核心库功能、新的高级安全特性以及新的小型虚拟机。
