L'interface de programmation d'applications Java Card est une plate-forme conçue pour créer des applications de cartes à puce et les lecteurs de carte à puce. En plus de la programmation liée à la carte à puce, Java Card est bien adapté pour la création d'applications sur un large éventail de faible encombrement, les appareils à faible mémoire, tels que certains types de téléphones portables. Ces petites applications fonctionnent de manière très similaire aux grands programmes Java, une machine virtuelle crée un environnement de base, puis le code Java fonctionne en son sein. La seule vraie différence entre le standard Java et un système Java Card est la taille et une poignée de fonctionnalités qui n'ont pas encore été mises en œuvre.
Java Card origine venu sur le marché en 1996. A cette époque, la seule utilisation de la technologie était dans les systèmes à base de cartes à puce. Comme le temps passait, le nombre de petites plates-formes informatiques a augmenté. Or, ce système est utilisé sur une large gamme de dispositifs qui fonctionnent avec des restrictions de plate-forme similaire à un système de carte à puce.
Le langage est adapté à un environnement qui possède une mémoire très limitée et une puissance de traitement. La majorité des systèmes de cartes à puce utilise un environnement fixe, en dehors d'un équipement spécial, il est très difficile d'obtenir un programme ou désactiver la carte. Ces environnements sont souvent extrêmement limités en termes de ressources disponibles, ce qui rend la langue un ajustement parfait.
L'emplacement secondaire le plus commun pour Java Card est sur les téléphones portables. Smartphones les plus modernes ont fait suffisamment de mémoire et de puissance de faire usage de plates-formes les plus avancées de Java, de sorte que les systèmes de cartes sont souvent limités aux smartphones âgés ou dumbphones. Une petite sélection d'autres appareils utilisent Java Card technologie, surtout ceux qui utilisent des cartes d'extension ou de cartes mémoire pour la programmation supplémentaire.
La plupart des systèmes Java fonctionnent de la même manière, indépendamment de leur plate-forme destinée ou la taille globale. Une machine virtuelle crée un environnement émulé sur le périphérique cible. Le programme Java fonctionne dans cet environnement avec peu d'égard pour le matériel réel du système. L'installation de la machine virtuelle est différente sur chaque plate-forme, mais les rouages nesont pas. En conséquence, il est possible d'exécuter la même application sur une large gamme d'ordinateurs ou d'appareils sans conversion.
Les principaux objectifs de la Java Card sont des langues compatibilité et la sécurité. Ce langage est conçu pour être compatible avec presque n'importe quel dispositif qui veut l'utiliser. Cela se fait généralement par le biais de machines virtuelles individuellement codés. Une fois la machine virtuelle pour le matériel est opérationnel, les applications sont relativement faciles à Port-dessus.
Le deuxième objectif principal est de créer un programme sûr et plate-forme. Comme les systèmes intelligents contiennent souvent des informations sensibles, la langue a un large éventail de méthodes pour la sauvegarde de cette information alors qu'elle est en cours d'utilisation. Ces méthodes vont de pare-feu d'applications internes de multiples formes de cryptage.