写点什么

Java Card 3 包含了 Java 6 支持及一个嵌入式 Servlet 容器

  • 2009-11-15
  • 本文字数:1270 字

    阅读完需:约 4 分钟

诞生于 1997 年的 Java Card 技术旨在让智能卡、安全令牌及其他内存受限设备能够运行 Java Applet。Sun 宣称世界上有 35 亿多个 Java 智能卡设备,因此我们能够看出该项技术的应用范围是相当广泛的。自从 1997 年以来 Sun 针对该平台发布了 6 个更新,而核心架构却基本没变。但随着 Java Card 3 的发布,Sun 对其进行了大刀阔斧的改革以充分利用高端智能卡硬件领域日新月异的变革。

Java Card 3 具有两个版本:Classic Edition 和 Connected Edition。这两个版本都以具有持久化对象的持久化虚拟机为特色,多个应用能够在虚拟机上运行,同时可以基于防火墙的上下文隔离机制来防止外来的侵袭。他们都兼容于 Java Card 2,现有的 Applet(称作“Classic Applet”)也都能运行于其上。以上就是两个版本相似的一面。

Classic Edition 基于现有的 2.2.2 架构并引入了一些增强,如支持新的加密算法(s4096-bit RSA 及 NSA Suite B 等)。像旧版本的 Java Card 平台一样,Classic Edition 使用了一种分离的虚拟机技术,这充分考虑了加载到卡片上的应用的预处理问题。这种方式可以保证实现 Java Card 平台所需的内存和 CPU 可以降到最低,同时 Classic Edition 还适合于那些只有 8 位或 16 位 CPU 的低成本卡片。

Connected Edition 的目标在于具有 32 位 CPU 的高端智能卡。它引入了一个全新的虚拟机和大量新 API 与服务,但却没有使用分离的虚拟机技术来加载应用而是充分利用高端智能卡的优势,使用标准的 Java Archive(JAR)文件格式和卡片上的类文件验证来直接加载类文件。

新架构旨在让智能卡成为安全的网络结点,要么为网络提供安全服务,要么请求访问网络资源。开发者可以通过一个兼容于 Servlet 2.5 的嵌入式 Web 容器或是直接管理连接的方式将智能卡与 IP 网络和 Web Services 集成起来。由于充分利用了新虚拟机中多线程的优势,该 Web 容器可以同时分发多个 HTTP 和 HTTPS 请求。平台为那些想要直接管理网络连接的开发者提供了 Generic Connection Framework,该框架提供了一套相关的抽象层来请求和管理网络与 I/O 连接。除了 HTTP 与 HTTPS 以外,Generic Connection Framework 还支持很多其他的协议,如 TCP、TLS 以及可选的 UDP。

Connected Edition 的虚拟机基于 Connected Limited Device Configuration(CLDC)VM 1.1 之上,而由 Java ME 平台所定义的 CLDC 在移动电话上得到了广泛的应用。 相对于 Classic Edition 虚拟机来说,Connected Edition 虚拟机除了支持多线程以外还支持多位包装(multiple package)和垃圾收集。Connected Edition 虚拟机兼容于 JDK 6,除了浮点数以外支持所有的 Java 语言特性包括注解和泛型。使用新特性的 Applet 叫做“Extended Applet”。

尽管提供了这么多的增强,内存使用量依然是非常小的。James Gosling说到它适合于“24K RAM,128K EEPROM,512K ROM,32 位处理器”。

大家可以访问项目团队的 Kenai 主页来进一步了解相关信息。目前 Sun 正在开发一个 NetBeans 插件以简化 Smart Card 的 Applet 开发工作。

查看英文原文: Java Card 3 Includes Java 6 Support and an Embedded Servlet Container

2009-11-15 12:551543
用户头像

发布了 88 篇内容, 共 268.4 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

模板方法模式

android 程序员 移动开发

数据的强一致性与弱一致性(1)

android 程序员 移动开发

某二次元App签名算法解析(一)

android 程序员 移动开发

新风向!成就了Android,热门框架排第一,你还是不够了解它

android 程序员 移动开发

来聊聊 Android Jetpack

android 程序员 移动开发

【LeetCode】范围求和 IIJava题解

Albert

算法 LeetCode 11月日更

查漏补缺:十个Handler面试最常见问题,带你全面理解Handler消息机制

android 程序员 移动开发

数据的强一致性与弱一致性

android 程序员 移动开发

数组结构七:集合和映射(Set And Map)

android 程序员 移动开发

模块化开发一:架构搭建

android 程序员 移动开发

某一线互联网大厂内部超高质量Flutter+Kotlin笔记!技术与实战篇!

android 程序员 移动开发

模块化开发一:架构搭建(1)

android 程序员 移动开发

最接地气的Android面试总结心得

android 程序员 移动开发

春招总结!大厂淘汰率80%,面试难度极高

android 程序员 移动开发

是面试官放水,还是公司太缺人?这都没挂,2021的字节跳动也太好进了吧

android 程序员 移动开发

最新Android面试题整理

android 程序员 移动开发

构建yum库

android 程序员 移动开发

数据结构(二), AVL平衡二叉树

android 程序员 移动开发

新鲜出炉的Android面试题,确定不来看看吗?还有超详细的答案解析哦~

android 程序员 移动开发

未来大趋势!Flutter-VS-Kotlin-跨平台开发市场的最终霸主究竟花落谁家?你看好谁呢?

android 程序员 移动开发

架构师知识分享:架构设计基础之——设计模式

android 程序员 移动开发

王者荣耀异地多活架构

小智

架构训练营

数据结构和算法学习指南

android 程序员 移动开发

是时候丢掉 onActivityResult 了 !

android 程序员 移动开发

教师节:程序员的献礼方式

android 程序员 移动开发

来自阿里P7的兄弟给我说:赶紧掌握这项技术太吃香了

android 程序员 移动开发

最后再说一次!!不要在你的App启动界面设置SingleTask-SingleInstance

android 程序员 移动开发

有人说这是2021字节跳动-初级Android工程师的面经?吓到我了!我还是去搬砖吧!

android 程序员 移动开发

毕业不到一年的Android 开发陷于迷茫,请求前辈指点一二

android 程序员 移动开发

揭秘:如何化身BAT面试offer收割机?

android 程序员 移动开发

效率提升百分之四十,AS模板也太好用了吧

android 程序员 移动开发

Java Card 3包含了Java 6支持及一个嵌入式Servlet容器_Java_Charles Humble_InfoQ精选文章