Java Card™ rakenduste programmeerimisliides on platvorm, mis on loodud rakenduste loomiseks kiipkaartidele ja kiipkaardiseadmetele. Lisaks kiipkaartidega seotud programmeerimisele sobib Java Card™ hästi rakenduste loomiseks paljudes väikese ruumi ja vähese mälumahuga seadmetes, näiteks teatud tüüpi mobiiltelefonides. Need väikesed rakendused töötavad väga sarnaselt suuremate Java® programmidega; virtuaalmasin loob baaskeskkonna ja seejärel Java® kood töötab selles. Ainus tegelik erinevus standardse Java® ja Java Card™ süsteemi vahel on suurus ja käputäis funktsioone, mida pole veel rakendatud.
Java Card™ tuli algselt turule 1996. aastal. Sel ajal kasutati seda tehnoloogiat ainult kiipkaardipõhistes süsteemides. Mida aeg edasi, seda rohkem väikeste arvutusplatvormide arv kasvas. Nüüd kasutatakse seda süsteemi paljudes seadmetes, mis töötavad kiipkaardisüsteemiga sarnaste platvormipiirangutega.
Keel sobib väga piiratud mälu- ja töötlemisvõimsusega keskkonda. Enamik kiipkaardisüsteeme kasutab fikseeritud keskkonda; väljaspool erivarustust on väga raske programmi kaardile sisse või maha saada. Need keskkonnad on saadaolevate ressursside osas sageli äärmiselt piiratud, mistõttu keel sobib ideaalselt.
Java Card™-i kõige levinum teisene asukoht on mobiiltelefonides. Enamikul kaasaegsetel nutitelefonidel on tegelikult piisavalt mälu ja võimsust, et kasutada rohkem arenenud Java® platvorme, nii et kaardisüsteemid on sageli piiratud vanemate nutitelefonide või dumfonidega. Väike valik muid seadmeid kasutavad Java Card™ tehnoloogiat, enamasti need, mis kasutavad lisa- või mälukaarte täiendavaks programmeerimiseks.
Enamik Java® süsteeme töötab samamoodi, olenemata nende kavandatud platvormist või üldisest suurusest. Virtuaalmasin loob sihtseadmes emuleeritud keskkonna. Java® programm töötab selles keskkonnas, võttes vähe arvesse süsteemi tegelikku riistvara. Virtuaalse masina installimine on igal platvormil erinev, kuid sisemine töö mitte. Tänu sellele on võimalik sama rakendust ilma konversioonita käivitada paljudes arvutites või seadmetes.
Java Card™ keele peamised eesmärgid on ühilduvus ja turvalisus. See keel on loodud ühilduma peaaegu kõigi seadmetega, mis seda kasutada soovivad. Tavaliselt tehakse seda individuaalselt kodeeritud virtuaalmasinate kaudu. Kui riistvara virtuaalmasin on töökorras, on rakendusi suhteliselt lihtne üle kanda.
Teine põhirõhk on turvalise programmi ja platvormi loomisel. Kuna nutikad süsteemid sisaldavad sageli tundlikku teavet, on sellel keelel lai valik meetodeid selle teabe kaitsmiseks selle kasutamise ajal. Need meetodid ulatuvad rakenduse sisemistest tulemüüridest kuni mitme krüptimise vormini.