Java智能卡是JAVA语言与智能卡相结合的产物。概括说来,JAVA卡就是能运行JAVA语言的CPU卡。JAVA卡采用的是一种新的智能卡编程系统,它在智能卡上建立JAVA虚拟机及相应的运行环境,JAVA卡程序用标准的JAVA开发工具编写,然后下载到智能卡上由虚拟机解释执行。

JAVA卡有其独特的优点:

1、跨平台应用

JAVA编译器产生不依赖于平台的字节码,字节码在虚拟机中运行。它的代码独立于平台,可移植性好,可以跨平台运行,达到“编写一次,到处运行”的理想境界。基于JAVA语言开发的智能卡应用程序可以运行在所有的JAVA智能卡上。

2、开发效率高

其它的智能卡应用程序在开发时都以汇编语言外加C语言为主,需要对智能卡硬件有很深的专业知识,编程复杂,开发速度慢,成本高。JAVA语言是面向对象的**语言,提供大量的通用API和密码算法API,使得编程应用变的简单。

3、安全性好

JAVA卡有用防火墙来隔离Applet之间的非法访问。JAVA语言的“解释性”执行的特点,使得它可以在执行时对代码进行彻底的检查,以防篡改、病毒和其它威胁,其安全程度远远超过了传统的预编译代码。

4、标准兼容

JAVA卡技术以ISO-7816标准为基础,因此可以兼容按ISO-7816开发的所有智能卡系统和应用系统。Applet不仅能在JAVA智能卡上相互执行,而且也能被现有的IC卡或智能卡读写设备所接受,因此JAVA智能卡具有很好的标准兼容性。

5、可扩展性好

非JAVA智能卡新增业务的时候,需要根据业务需求修改底层的用汇编编写的卡操作系统(COS);对于JAVA智能卡,开发人员不需要了解底层的硬件结构和相关指令集,只需要调用卡上提供的一套通用的API就可以增加新业务而不必修改底层系统。