Java Card ™ uygulama programlama arayüzü, akıllı kartlar ve akıllı kart aygıtları için uygulamalar oluşturmak için tasarlanmış bir platformdur. Akıllı kartla ilgili programlamaya ek olarak, Java Card ™, bazı cep telefonları gibi çok çeşitli küçük alandaki düşük bellekli cihazlarda uygulama oluşturmak için çok uygundur. Bu küçük uygulamalar daha büyük Java® programlarına çok benzer şekilde çalışır; sanal bir makine temel bir ortam oluşturur ve ardından Java® kodu içinde çalışır. Standart Java® ile Java Card ™ sistemi arasındaki tek gerçek fark, henüz uygulanmamış olan özelliklerin boyutu ve bir kısmıdır.
Java Card ™ aslen 1996'da piyasaya sürüldü. Şu anda teknolojinin tek kullanımı akıllı kart tabanlı sistemlerdi. Zaman geçtikçe, küçük hesaplama platformlarının sayısı arttı. Şimdi bu sistem akıllı kart sistemine benzer platform kısıtlamaları ile çalışan çok çeşitli cihazlarda kullanılmaktadır.
Dil, hafızası ve işlem gücü çok sınırlı olan bir ortam için uygundur. Akıllı kart sistemlerinin çoğu, sabit bir ortam kullanır; Özel ekipmanın dışında, kartı açmak veya kapatmak çok zordur. Bu ortamlar genellikle mevcut kaynaklar açısından son derece sınırlıdır ve bu da dili mükemmel bir uyum sağlar.
Java Card ™ için en yaygın ikincil konum, cep telefonlarındadır. Modern akıllı telefonların çoğu aslında daha gelişmiş Java® platformlarını kullanmak için yeterli hafızaya ve güce sahiptir, bu nedenle kart sistemleri genellikle eski akıllı telefonlar veya dumbphones ile sınırlıdır. Küçük bir dizi diğer aygıt, ek programlama için çoğunlukla ek kart veya bellek kartı kullanan Java Card ™ teknolojisini kullanır.
Java® sistemlerinin çoğu, amaçlanan platformlarından veya genel boyutlarından bağımsız olarak aynı şekilde çalışır. Sanal makine, hedef aygıtta öykünülmüş bir ortam oluşturur. Java® programı, sistemin asıl donanımını çok az dikkate almadan bu ortamda çalışır. Sanal makine kurulumu her platformda farklı, ancak iç işler farklı değil. Sonuç olarak, aynı uygulamayı dönüşümü olmayan çok çeşitli bilgisayarlarda veya cihazlarda çalıştırmak mümkündür.
Java Card ™ dilinin ana hedefleri uyumluluk ve güvenliktir. Bu dil kullanmak isteyen hemen hemen her cihazla uyumlu olacak şekilde tasarlanmıştır. Bu genellikle ayrı ayrı kodlanmış sanal makinelerle yapılır. Donanım için sanal makine çalıştığında, uygulamaların taşınması nispeten kolaydır.
İkinci ana odak, güvenli bir program ve platform oluşturmaktır. Akıllı sistemler sıklıkla hassas bilgiler içerdiğinden, dilin kullanım sırasında bu bilgiyi korumak için çok çeşitli yöntemleri vardır. Bu yöntemler iç uygulama güvenlik duvarlarından çoklu şifreleme biçimlerine kadar çeşitlilik gösterir.


